Вывод тем и категорий

Разгильдяй

Новичок
Вывод тем и категорий

Существует две таблицы:
PHP:
categories: 
1. cat_id 
2. cat_title 
3. cat_order 


forums: 
1. forum_id 
2. cat_id 
3. forum_name

Как сделать вывод такого вида:

Категория1
форум1
форум2
форум3

Категория2
форум1
форум2
форум3
 
примерно раз в неделю на этом форуме задают этот вопрос... слово в слово
 
Могу подсказать запрос. Это если одним запросом:
PHP:
SELECT * FROM categories as t1, forums as t2 WHERE t1.cat_id=t2.cat_id

Вывод в цикле.
 
Автор оригинала: _RVK_
Могу подсказать запрос. Это если одним запросом:
PHP:
SELECT * FROM categories as t1, forums as t2 WHERE t1.cat_id=t2.cat_id

Вывод в цикле.
это уже давно сделал. Но выводит для каждого форума категорию :(
 
кто выводит? он сам? мамачка! они живые!

Это ты выводишь. Смотри где ошибка в алгоритме. На худой конец, если не разберешься покажи код сюда, мы поможем. Или все же "да" на мой первый вопрос?
 
PHP:
$db->query("SELECT * FROM categories AS cat, forums AS forums WHERE cat.cat_id = forums.cat_id;");
           
while($row = $db->fetchRow())
{
     $this->categorie[] = $row;
}	

echo '<table align="center" width="100%" border="1">';
		
foreach($this->categorie as $key => $value)
{	
    echo '<tr>';
			
    foreach($value as $key => $val)
   {
      echo '<td>' . $val . '</td>';
   }
			
   echo '</tr>';
}
		
echo '</table>';
 
Разгильдяй
Зачем ты запихивашь все в массив? Выводи сразу.
Или хотя бы не пихай туда все.
 
Подскажи пожалуйста, как сделать вывод такого вида:

Категория1
форум1
форум2
форум3

Категория2
форум1
форум2
форум3

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

-~{}~ 08.04.05 23:13:

я понимаю что ты новичок и тебе сложно сразу понять, но не проси готового, пошевели мозгами, нарисуй алгоритм на бумажке...
 
Автор оригинала: _RVK_
заведи переменную и в цикле проверяй относится ли текущий форум к той же категории или уже к другой. если к другой то выводи и меняй значение переменной. если к той же то выводи только форум.
if($cat_id < $max)
{
новая категория
$max = $cat_id;
}
else
{
форум предыдушей категории
}

ты про это?
 
не совсем. прчем здесь больше/меньше? а если сортировака не по id? сравнивай просто на равенстро.
 
Автор оригинала: _RVK_
а если сортировака не по id?

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


Ты говорил про тоже самое, только если айди равен предыдущему, тогда одна категория?
 
Ты говорил про тоже самое, только если айди равен предыдущему, тогда одна категория?
Да, а если отличается то уже другая. И не важно больше или меньше.
 
Автор оригинала: _RVK_
Да, а если отличается то уже другая. И не важно больше или меньше.
большое спасибо, все понял

-~{}~ 08.04.05 23:56:

А как потом это все еще в шаблон засунуть?Не хочу классы захламлять HTML-кодом. Использую Smarty.
 
тот же цикл только в смарти :)

-~{}~ 09.04.05 00:34:

Разгильдяй
Не рановато ли ты взялся за ООП и Smarty? Я то не против, но зачем делать то чего ты не понимаешь?
 
Сверху