меню с подкатегорями

Статус
В этой теме нельзя размещать новые ответы.

Onik

Новичок
меню с подкатегорями

хочу сделать такое меню

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

при нажатии Категории 1

Категория1
Под Категория 1
Под Категория 2
Под Категория 3
Категория2
Категория3
код
PHP:
<?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

Новичок
Mr_Max
а можно пример я почти не разбираюсь, какой цикл?
 

Onik

Новичок
Категории и подкатегории.
хрянтся в разных БД
я сперва вывожу оснавную а патом при нажати Категории1
долно показывать подкатегории с pid=$CID

по коду все правильно получается,

Категория1
Категория2
Категория3
Под Категория 1
Под Категория 2
Под Категория 3
но нужно что бы воть так вывадилось

Категория1
Под Категория 1
Под Категория 2
Под Категория 3
Категория2
Категория3


а нету под рукой стати но по рус?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Категории и подкатегории.
хрянтся в разных БД
Данные сохранить в массивы
потом их вывести в цикле.

-~{}~ 28.12.07 13:21:

2. Использовать в запросах $link_identifier
 

Beavis

Banned
Onik
у вас же
PHP:
//показать товары выбранной категории
находится после цикла вывода категорий! значит товары и будут показываться ПОСЛЕ категорий... вам Mr_Max сказал что надо сделать! или вы ждете пока кто нибудь сжалится над вашей тупостью и напишет готовое?)) тут делов то на 1 copy-paste и пару букв
 

Onik

Новичок
этот тупой код работает у меня правильно но никак не могу сортировать вывод нормально и все и уже 2 часа пробую и никак(((
 

Фанат

oncle terrible
Команда форума
да уж, туповатая тема. висит целый день и все ни с места.

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

Фанат

oncle terrible
Команда форума
только не забудь проверку добавить
на совпадение CID с ид категории.

и имена переменным дать разные, чтобы не перепутались
 

Onik

Новичок
*****, они не путаются
но вывод щас стал таким
Категория1
Под Категория 1
Под Категория 2
Под Категория 3
Категория2
Под Категория 1
Под Категория 2
Под Категория 3
Категория3
Под Категория 1
Под Категория 2
Под Категория 3
 

Фанат

oncle terrible
Команда форума
не забудь проверку добавить
на совпадение CID с ид категории.
 

Onik

Новичок
и как добавить проверку на совпадение?

Они не совпадают просто один вывод пишет в трёх местах
 

Фанат

oncle terrible
Команда форума
ОНИ СОВПАДАЮТ!!!
когда ты выводишь первую категорию, а CID равен 1!

а когда выводишь остальные категории, их id не равны CID!

-~{}~ 28.12.07 16:53:

ты можешь написать код, который сравнивает id выводимой строки и CID?
А условие, по которому выполняется код вывода подкатегорий, на основании этого сравнения?
 

Onik

Новичок
Автор оригинала: *****
ОНИ СОВПАДАЮТ!!!
когда ты выводишь первую категорию, а CID равен 1!

а когда выводишь остальные категории, их id не равны CID!

-~{}~ 28.12.07 16:53:

ты можешь написать код, который сравнивает id выводимой строки и CID?
А условие, по которому выполняется код вывода подкатегорий, на основании этого сравнения?
нет не смогу,

а список дублирует наверное из за неправильно запроса
PHP:
$q="SELECT * FROM `cat` ORDER BY CID";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo "<a href=test11.php?CID=".$row[CID].">$row[Cat]</a><br>";
    for ($i=0; $i<count($result); $i++)
    showGood($result[$i],true);
}
}[
 

Фанат

oncle terrible
Команда форума
При чем здесь запрос?
Что ты не можешь? сравнить $row[CID] и $CID?

Ты вообще сам этот код писал? Ты понимаешь, что делают его отдельные части? Какая выводит категории, а какая - товары?
 

Onik

Новичок
*****
коды понимаю, но не могу понять как они могут быть не равны если по ним выводится из базы pid=$CID
$CID у всех категорий разные
pid это уже категории с теми же значениями что и у $CID
значения $CID = 1
Выводить подкатегории со значениями pid = 1
 

Фанат

oncle terrible
Команда форума
CID у всех категорий разные. ПРАВИЛЬНО.
а тебе надо выводить подкатегории только тогда, когда CID переданный через адрес, совпадает с CID выводимой сейчас категории. а не как сейчас - для всех разных CID
Ты вообще сам-то понимаешь это? Такое ощущение, что я тебе объясняю, что ты хочешь сделать.

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

Onik

Новичок
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);
};
}
он и показывает что ты ещё хочешь???код правильно все показывает 5 раз говарью просто не там где нужно
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху