Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Объединение ячеек при построении таблицы по данным из БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Объединение ячеек при построении таблицы по данным из БД
kotompazb
Отправлено: 08 Января, 2014 - 16:43:13
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Здравствуйте. Во-первых, прошу прощения, если пишу не в том разделе, поправьте пожалуйста.

К сути.
Необходимо построить таблицу в следующем виде

Нажмите для увеличения

объединяя ячейки с одинаковыми категориями, а также цены, если они одинаковые и входят в одну категорию.
Данные для получаем из БД.

Идея пока в следующем:
итак мы имеем некоторое количество категории (4), в каждой из них несколько ценовых групп, в каждой из которых в свою очередь несколько строк. таким образом все решается 2-мя проходами по массиву. при первом проходе выясняется количество всего этого и заполняется специальный 3-мерный массив. а при втором проходе используя эти данные формируется таблица. то есть как-то так. трабла только в том, что реализация работы с массивами в пхп мне немного непонятна.

То есть хотелось бы получить какое-то изящное решение и не изобретать велосипед, так как думаю, что многие уже неоднократно сталкивались с подобной проблемой.

P.S. Принцип отсортировки таблицы: SELECT *
FROM `alldays`
ORDER BY `category` DESC , `price1` , `price2` , `price3` , `price4` , `price5` , `room`, `bednum`

Заранее, спасибо.
 
 Top
gefard
Отправлено: 08 Января, 2014 - 22:43:56
Post Id



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012  


Помог: 1 раз(а)




выводим шапку таблицы
$result = mysql_query(запрос1);
while ($row = mysql_fetch_assoc($result)) {
выводим ячейку с категорией
$result2 = mysql_query(запрос2);
while ($row2 = mysql_fetch_assoc($result2)) {
выводим ячейки цен
}
}
В первом запросе получаем только категории
Во втором запросе получаем цены для каждой категории
Так вам проще понять будет
 
 Top
kotompazb
Отправлено: 10 Января, 2014 - 05:56:34
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Еще раз здравствуйте.

gefard, спасибо. Однако, проблему решил раньше.
Пусть не особо элегантно, однако, работает именно так, как мне требуется.

Теперь о самом решении.

Во-первых, немного изменились условия задачи (несущественно).
Теперь таблица должна выглядеть так:

Нажмите для увеличения


Ну а теперь собственно и само решение.
Внимание! Тут много кода (решение решил, извиняюсь, выложить целиком).
Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)
Ну вот, собственно и все. Спасибо за внимание.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB