|
 76.4 Кб |
|
| Помогите избавится от этих строк пожалуйста
Я прикрепил картинку со структурой категорий в ней все будет понятно
<?php
$grup_tovar = mysql_query ("SELECT id, name FROM shop_categories where parent = 0 ",$db);
$row = mysql_fetch_array($grup_tovar);
do
{
echo $row ['name'].'<br>';
$grup_tovar1 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row['id']."'",$db);
$row2 = mysql_fetch_array($grup_tovar1);
do
{
echo '-- '.$row2['name'].'<br>';
$grup_tovar2 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row2['id']."'",$db);
$row3 = mysql_fetch_array($grup_tovar2);
do
{
echo '---------- '.$row3['name'].'<br>';
}
while ($row3 = mysql_fetch_array($grup_tovar2));
}
while ($result_t = mysql_fetch_array($grup_tovar1));
echo '<br>';
}
while ($row = mysql_fetch_array($grup_tovar));
?> | |
|
|
|
|
|
|
|
для: rusel6
(19.09.2009 в 16:34)
| | Что за место них хотите видеть? | |
|
|
|
|
|
|
|
для: cheops
(19.09.2009 в 16:36)
| | Что бы их просто не было видно, я так понял это ошибка | |
|
|
|
|
|
|
|
для: Rusel6
(19.09.2009 в 16:43)
| | Т.е. должен выводится список только корневых каталогов? Или подкаталоги тоже должны выводиться, но только у выбранного каталога? | |
|
|
|
|
 100.2 Кб |
|
|
для: cheops
(19.09.2009 в 16:53)
| | Я выслал структуру таблицы этих категорий и под категорий. Так вот нужно чтоб выводились настоящие категории вот например Главные категории у них поле parent = 0 а у этих главных категорий могут быть под категории, соответсвенно у подкатегории поле parent будет номер id главной под категории а у подкатегории есть тоже под категории и так дальше. Ну мне нужно что бы отображались настоящие категории соотвтствующие свое надкатегории | |
|
|
|
|
|
|
|
для: Rusel6
(19.09.2009 в 17:03)
| | Цикл do {} while следует заменить на while и все встанет на свои места. Вам не нужно пост-условие, так как флаг-условие цикла формируется сразу - т.е. удобнее использовать прямой while. Попробуйте использовать следующий подход.
<?php
$grup_tovar = mysql_query ("SELECT id, name FROM shop_categories where parent = 0 ",$db);
if(mysql_num_rows($grup_tovar))
while($row = mysql_fetch_array($grup_tovar))
{
echo $row ['name'].'<br>';
$grup_tovar1 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row['id']."'",$db);
if(mysql_num_rows($grup_tovar1))
while($row2 = mysql_fetch_array($grup_tovar1))
{
echo '-- '.$row2['name'].'<br>';
$grup_tovar2 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row2['id']."'",$db);
if(mysql_num_rows($grup_tovar2))
while ($row3 = mysql_fetch_array($grup_tovar2));
{
echo '---------- '.$row3['name'].'<br>';
}
}
}
?>
|
| |
|
|
|
|
 18.1 Кб |
|
|
для: cheops
(19.09.2009 в 17:18)
| | Вот выслал что получилось. Не видно 2-ой под категори | |
|
|
|
|
|
|
|
для: Rusel6
(19.09.2009 в 17:43)
| | Если не сложно, прикрепите дамп таблицы shop_categories, чтобы можно было воспроизвести ситуацию. | |
|
|
|
|
 580 байт |
|
|
для: cheops
(19.09.2009 в 17:48)
| | вот | |
|
|
|
|
|
|
|
для: Rusel6
(19.09.2009 в 17:50)
| | Ага, точка с запятой лишняя затесалась, воспользуйтесь следующим вариантом
<?php
$grup_tovar = mysql_query ("SELECT id, name FROM shop_categories where parent = 0 ",$db);
if(mysql_num_rows($grup_tovar))
while($row = mysql_fetch_array($grup_tovar))
{
echo $row ['name'].'<br>';
$grup_tovar1 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row['id']."'",$db);
if(mysql_num_rows($grup_tovar1))
while($row2 = mysql_fetch_array($grup_tovar1))
{
echo '-- '.$row2['name'].'<br>';
$grup_tovar2 = mysql_query ("SELECT * FROM shop_categories where parent ='".$row2['id']."'",$db);
if(mysql_num_rows($grup_tovar2))
while ($row3 = mysql_fetch_array($grup_tovar2))
{
echo '---------- '.$row3['name'].'<br>';
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(19.09.2009 в 17:58)
| | Все получилось спасибо БОЛЬШОЕ!!!! | |
|
|
|