|
|
|
| хочу сделать такое меню
Категория1
Категория2
Категория3
при нажатии Категории 1
Категория1
Под Категория 1-1
Под Категория 1-2
Под Категория 1-3
Категория2
Категория3
код
использую 2 таблицы в одном хранятся оснавная категория в другом подкатегории
<?php
include ("connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
function showGood($a) {
echo "$a[1]<br>";
}
$q="SELECT * FROM `cat` ORDER BY CID ";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo "<a href=viw.php?CID=".$row[CID].">$row[Cat]</a><br>";
}
if ($CID) { //показать товары выбранной категории
$q = mysql_query("SELECT * FROM Cat2 WHERE pid=$CID ORDER BY Namecat2") or die (mysql_error());
$i=0;
$result = array();
while ($row = mysql_fetch_row($q)) {
$result[$i] = $row;
$i++;
};
if (!$i) { //если кол-во товаров в категории = 0
echo "нет товаров";
}
else { //$i != 0 -- показываем товары в этой категории
for ($i=0; $i<count($result); $i++)
showGood($result[$i],true);
};
}
?>
|
с таким кодом
а получается вот так
Категория1
Категория2
Категория3
Под Категория 1
Под Категория 2
Под Категория 3
вопрос как сделать чтоб нормально всё выводилось? | |
|
|
|
|
|
|
|
для: onik
(08.01.2008 в 15:39)
| | Если уровней два и ровно два - применяйте запрос, соединяющий таблицы
SELECT cat.*, cat2.*
FROM cat JOIN cat2 ON cat2.pid = cat.cid
ORDER BY cat.cid,cat2.namecat2
|
и один цикл, пробегающий весь результат.
Если хочется уровней без ограничений - применяйте схему хранения дерева в одном из классических видов представления. К примеру Adjacency lists - (id, parent_id, name) . | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2008 в 16:07)
| | Trianon,
что то с таким запросом не получается.
выдает так
Категория1
Под Категория 1
Категория1
Под Категория 1-2
Категория1
Под Категория 1-3
Категория3
категория 2 вапше не показывает т.к. нет подкатегории 2 | |
|
|
|
|
|
|
|
для: onik
(08.01.2008 в 17:11)
| | Ооо. у меня аналогичная проблема, но с 3 , только мне так ничего не объяснили сказали, что ява поможет, только нипонятно... | |
|
|
|
|
|
|
|
для: PAUELL
(08.01.2008 в 17:58)
| | и мне не помогут? | |
|
|
|
|
|
|
|
для: onik
(09.01.2008 в 09:22)
| | помоему ваша проблема в перменной $row сделайте во втором while ее например $row1
нет наверна вру немного не туда глянул :)
насколько я понял по задаче у вас второй while должен быть вложен в первый.... | |
|
|
|