Проблем с разположение на категории

amgcompany

Registered
Здравейте,
В сайта, имам категории и под категории, които ги изкарвам от базата данни. Проблемът е, че нещо не се получава, трябва по всяка категория да ми изкара под категориите които и съответстват ето вижте.

http://prikachi.com/images/422/4902422N.jpg

Ето го и кода :
PHP:
<?php
										$q_cat = mysql_query("SELECT cat_id, cat_name,subcat_id, join_cat_id,subcat FROM categories JOIN subcategories ON (cat_id = join_cat_id)") or die (mysql_error());
										//$q_cat = mysql_query("SELECT cat_id, cat_name FROM categories") or die (mysql_error());
										while($row_cat = mysql_fetch_array($q_cat)){
									?>
										<div id="back_input">
										<p class="back_p">
											<?php echo $row_cat['cat_name']; ?>
										</p>
										<?php echo $row_cat['subcat']; ?>
										</div>
									
									<?php
										}
									?>

Ако някой може да помогне ще съм му благодарен :)
 
Пишеш:
WHERE ид-то на категорията = ид-то на подкатегориите за съответната категория.
 
Ами другия вариант,който мога да ти предложа е следния(2 заявки):
PHP:
$i = mysql_query("SELECT * FROM categories"); -Селектираш си категориите
while($row=mysql_fetch_array($i)) {
   - Тук си вадиш категориите
   $r = mysql_query("SELECT * FROM subforums WHERE category_id='$row[category_id]'"); - Селектираш под категориите,като ги  слагаш всяка на мястото и според ид-то на категорията,в която се намира.
   while($result=mysql_fetch_array($r)) {
      - Тук си вадиш под категориите.
   }
}

Не знам дали е добре да се прави заявка в while цикъл,но това е единственото,което се сещам и съм почти сигурен,че ще работи.
 
Така обаче ми изкарва категориите и само тези под категории които съответсват на първата категория, трябва да ми изкара над 40 под категории а ми изкарва само 7
 
http://gatakka.eu/?p=319
Избягвай такива вложени заявки ...
Нещо подобно би трябвало да стане
Код:
SELECT categories.*, subforums .name AS subcat_name FROM `categories` LEFT JOIN `subforums ` ON (categories.id = subforums.category_id) GROUP BY categories.id
 

Back
Горе