Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Как с помощью PHP построить такую таблицу?

#php


Нужно визуализировать дом с квартирами. Допустим есть 3х этажный дом и три подъезда,
в нем 27 квартир

В итоге получить что-то типа этого


Есть массив данных, его нужно привести к виду, как на картинке (примерно)

$array = [
'number' => 1,
'floor' => 3,
'enters'=> 3,
'rooms' => 27
]; 

С HTML + CSS проблем нет. Проблема как правильно собрать массив для вывода

Да тут математика обычная:
27 квартир / 3 подъезда
Получаем 9 квартир в 1м подъезде
9 квартир / 3 этажа
Получаем 3 квартиры на этаже

А вот как сделать генерацию в 1м подъезде в таком порядке 7,8,9 - 4,5,6 - 1,2,3,
не могу придумать
    


Ответы

Ответ 1



PHP не предназначен для визуализации. Для этого есть html. Для начала реализуйте это просто на html. После этого, если вы имеете представление о массивах и циклах сгенерируйте динамическую часть страницы при помощи PHP 1, 'floor' => 3, 'enters'=> 3, 'rooms' => 27 ]; $array = [ 'number' => 2, 'floor' => 3, 'enters'=> 2, 'rooms' => 24 ]; $arResult = []; $roomsInEnter = ceil($array['rooms'] / $array['enters']); $roomsInFloor = ceil($roomsInEnter / $array['floor'] ); for ($i=1;$i<=$array['rooms'];++$i) { $curEnter = ceil($i / $roomsInEnter); $curFloor = ceil(($i - ($curEnter-1 ) * $roomsInEnter)/ $roomsInFloor) ; $arResult[$array['floor']-$curFloor][] = $i; } for($i=0;$i<$array['floor'];++$i) { foreach($arResult[$i] as $room) { echo $room."\t"; } echo "\n"; }

Ответ 2



Тройной цикл - не лучшее решение, но если вызывает вопрос именно вывод в PHP - то это будет пояснением:
Cформировать $floors и $padiki можно вложенным циклом по представленным исходным данным. Предлагаю автору самому это сделать.

Комментариев нет:

Отправить комментарий