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]   

> Без описания
maragon
Отправлено: 29 Июня, 2015 - 19:39:03
Post Id



Посетитель


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


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




Мучался, вроде просто - а не туда, ни сюда.
Две таблицы: Категория форума / Форумы
Нужно вывести втаком порядке:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Название категории
  2. - Форумы
  3. Название второй категории
  4. - Форумы


CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. Таблица `forum`:
  3. `id` (int) , `category`(int) , `name` (varchar)
  4. 1|Форум 1|Первый форум
  5. 2|Форум 2|Второй форум
  6.  


Куда копать? Однако
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. Таблица `forum_category`:
  3. `id` (int) ,  `name` (varchar)
  4. 1|Основные форумы
  5. 2|информационные форумы
  6.  


Пробовал так, но не то.. Группировка не помогает.
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT forum.name, forum_category.name AS cat_name FROM forum
  2. LEFT JOIN forum_category.category ON forum_category.id = forum.category
  3. GROUP BY forum.category
  4. ORDER BY forum.id ASC;

(Отредактировано автором: 29 Июня, 2015 - 20:52:24)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
maragon
Отправлено: 30 Июня, 2015 - 00:11:54
Post Id



Посетитель


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


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




Сейчас вывожу так, но это не есть хорошо Однако
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = $db->super_query("SELECT `".PREFIX."_forum_categories`.`id`,
  3.                                                                 `".PREFIX."_forum_categories`.`name`
  4.                                                                 FROM `".PREFIX."_forum_categories`
  5.                                                                 ", 1);
  6. if($sql) {
  7. foreach($sql As $row){
  8.  
  9. $tpl->load_template('forum/category.tpl');
  10. $tpl->set('{name}', $row['name']);
  11. $tpl->compile('content');
  12.  
  13. $sql = $db->super_query("SELECT `".PREFIX."_forum`.`id`,
  14.                                                                 `".PREFIX."_forum`.`name`,
  15.                                                                 `".PREFIX."_forum`.`description`,
  16.                                                                 `".PREFIX."_forum`.`count_messages`,
  17.                                                                 `".PREFIX."_forum`.`count_topics`,
  18.                                                                 `".PREFIX."_forum`.`forum_icon`
  19.                                                 FROM `".PREFIX."_forum`
  20.                                                 WHERE `".PREFIX."_forum`.`category` = '".$row['id']."'
  21.                                                 ", 1);
  22. if($sql){
  23. $tpl->load_template('forum/forum.tpl');
  24. foreach($sql AS $row){
  25. $tpl->set('{forum_id}', $row['id']);
  26. $tpl->set('{forum_name}', $row['name']);
  27. $tpl->set('{forum_description}', $row['description']);
  28. $tpl->set('{count_messages}', $row['count_messages']);
  29. $tpl->set('{count_topics}', $row['count_topics']);
  30. if(file_exists(ROOT_DIR."/templates/".$config['temp']."/images/forum/".$row['forum_icon'])){
  31. $tpl->set('{forum_icon}', "/templates/".$config['temp']."/images/forum/".$row['forum_icon']);
  32. } else {
  33. $tpl->set('{forum_icon}', "/templates/".$config['temp']."/images/forum/no.png");
  34. }
  35.  
  36. $tpl->compile('content');
  37. }
  38. }
  39. }
  40. } else { msgbox('Ошибка', 'Форумы не найдены', 'Обратитесь к данной странице позже', 'info'); }
  41.  


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Viper
Отправлено: 30 Июня, 2015 - 10:08:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Я такое на php делал, а не средствами БД. У вас есть связь по ID между форумами и подфорумами. Выбираете все форумы, потом все подфорумы и в цикле создаете новый массив связав по ID.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
maragon
Отправлено: 30 Июня, 2015 - 12:18:09
Post Id



Посетитель


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


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




Viper пишет:
Я такое на php делал, а не средствами БД. У вас есть связь по ID между форумами и подфорумами. Выбираете все форумы, потом все подфорумы и в цикле создаете новый массив связав по ID.


А можно пример?


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Viper
Отправлено: 30 Июня, 2015 - 17:57:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




maragon пишет:
А можно пример?
пример?
Нужен тестовый набор данных под конкретный проект. А "от фонаря" ничем не поможет. Про принцип связи я вам намекнул, дальше сами пробуйте.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2015 - 18:01:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Ну вон мы же щас какраз для нового движка структуру форума обсуждаем -- иди туда читай и следи за изменениями.
 
 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