|
|
|
| Католог из книги "PHP 5 Практика создания WEB сайтов "
не пойму почему в клиентской части не выводится подкаталоги и меню подкаталога Подскажите может кто знает!!!! | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 12:08)
| | Почему то не пойму не выводятся подкаталоги и меню управления в них кто прорабатывал это подскажите
<?php
// Устанавливаем соединение с базой данных
require_once("../admin/config.php");
$title="Каталог продукции";
include "../util/top.php";
?>
<h1 class=artnamepage>Каталог продукции</h1>
<?
// Если значение параметра id_parent не установлено, следовательно,
// выбран самый верхний уровень меню
if(!isset($_GET['id_parent'])) $_GET['id_parent'] = 0;
// Если имеем дело не с корневым каталогом, то выводим ссылку на
// уровень выше и воспроизводим вышележащее меню
if ($_GET['id_parent'] != 0)
{
// Выводим ссылку для возврата в предыдущее меню
echo "<a href=index.php?id_parent=".$_GET['id_parent'].">Верхний уровень</a></p>";
// Воспроизводим вышележащее меню
$query = "SELECT * FROM catalog
WHERE hide='show' AND id_parent=".$_GET['id_parent'];
$prev = mysql_query($query);
if(!$prev) puterror("Ошибка при обращении к каталогу");
// Выводим список каталогов
while($pmenu = mysql_fetch_array($prev))
{
echo "<a href=index.php?id_parent=".$pmenu['id_parent']."&id_catalog=".$pmenu['id_catalog'].">".$pmenu['name']."</a><br>";
// Если вышележащий каталог совпадает с текущим, и у него имеются
// подкаталоги, то выводим их
if($_GET['id_parent'] == $pmenu['id_catalog'])
{
// Формируем и осуществляем SQL-запрос, извлекающий подкаталоги
// текущего каталога
$query = "SELECT * FROM catalog
WHERE hide='show' AND id_parent=".$_GET['id_parent']."
ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу");
// Если SQL-запрос вернул больше одной строки – выводим
// подкаталоги
if(mysql_num_rows($ctg)>0)
{
while($cat = mysql_fetch_array($ctg))
{
// Выводим список каталогов
echo "<a href=index.php?id_parent=".$_GET['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
}
}
}
}
// Если это корневой каталог просто выводим его подкаталоги
else
{
// Выводим список подкаталогов
$query = "SELECT * FROM catalog WHERE hide='show' AND id_parent=".$_GET['id_parent']." ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу1");
while($cat = mysql_fetch_array($ctg))
{
// Выводим список подкаталогов корневого каталога
echo "<a href=index.php?id_parent=".$cat['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
}
// Если это не корневой каталог: выводим таблицу с товарными позициями
if($_GET['id_catalog'] != 0) include "product.php";
include "../util/bottom.php";
?> | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 12:08)
| | Если имеется необходимость их можно вывести. | |
|
|
|
|
|
|
|
для: cheops
(05.05.2006 в 12:54)
| | А как не подскажете ? | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 13:00)
| | Поднимите пожалуйста тему вечером, если я забуд ответить. | |
|
|
|
|
|
|
|
для: cheops
(05.05.2006 в 13:25)
| | Спасибо! | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 14:21)
| | Помаг=ите пожайлусто..... | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 15:37)
| | ..... | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 16:33)
| | Вроде что тоо получилось но возврат на уровень вверх работает только для первого уровня немогу понять как для остальных сделать и по возможности подскажите как лучьше | |
|
|
|
|
|
|
|
для: GOR0427
(05.05.2006 в 17:13)
| | Хм... так а вы просто исправьте блок
<?php
// Если это корневой каталог просто выводим его подкаталоги
else
{
// Выводим список подкаталогов
$query = "SELECT * FROM catalog WHERE hide='show' AND id_parent=".$_GET['id_parent']." ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу1");
while($cat = mysql_fetch_array($ctg))
{
// Выводим список подкаталогов корневого каталога
echo "<a href=index.php?id_parent=".$cat['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
}
?>
|
в файле catalog/index.php на
<?php
// Выводим список подкаталогов
$query = "SELECT * FROM catalog WHERE hide='show' AND id_parent=".$_GET['id_parent']." ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу1");
while($cat = mysql_fetch_array($ctg))
{
// Выводим список подкаталогов корневого каталога
echo "<a href=index.php?id_parent=".$cat['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(05.05.2006 в 22:20)
| | Знаете я пробовл так но не получается. Возможно я что то не так делаю?
<?php
// Устанавливаем соединение с базой данных
require_once("../admin/config.php");
$title="Каталог продукции";
include "../util/top.php";
?>
<h1 class=artnamepage>Каталог продукции</h1>
<?
$_GET['id_parent'];
// Если значение параметра id_parent не установлено, следовательно,
// выбран самый верхний уровень меню
if(!isset($_GET['id_parent'])) $_GET['id_parent'] = 0;
// Если имеем дело не с корневым каталогом, то выводим ссылку на
// уровень выше и воспроизводим вышележащее меню
if ($_GET['id_parent'] != 0)
{
// Выводим ссылку для возврата в предыдущее меню
echo "<a href=index.php?id_parent=".$_GET['id_parent'].">Верхний уровень</a></p>";
$_GET['id_parent'];
// Воспроизводим вышележащее меню
$query = "SELECT * FROM catalog
WHERE hide='show' AND id_parent=".$_GET['id_parent'];
$prev = mysql_query($query);
if(!$prev) puterror("Ошибка при обращении к каталогу");
// Выводим список каталогов
while($pmenu = mysql_fetch_array($prev))
{
echo "<a href=index.php?id_parent=".$pmenu['id_parent']."&id_catalog=".$pmenu['id_catalog'].">".$pmenu['name']."</a><br>";
// Если вышележащий каталог совпадает с текущим, и у него имеются
// подкаталоги, то выводим их
if($_GET['id_parent'] = $pmenu['id_catalog'])
{
// Формируем и осуществляем SQL-запрос, извлекающий подкаталоги
// текущего каталога
$query = "SELECT * FROM catalog
WHERE hide='show' AND id_parent=".$_GET['id_parent']."
ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу");
// Если SQL-запрос вернул больше одной строки – выводим
// подкаталоги
if(mysql_num_rows($ctg)>0)
{
while($cat = mysql_fetch_array($ctg))
{
// Выводим список каталогов
echo "<a href=index.php?id_parent=".$_GET['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
}
}
}
}
// Если это корневой каталог просто выводим его подкаталоги
// else
// {
// Выводим список подкаталогов
$query = "SELECT * FROM catalog WHERE hide='show' AND id_parent=".$_GET['id_parent']." ORDER BY pos";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к каталогу1");
while($cat = mysql_fetch_array($ctg))
{
// Выводим список подкаталогов корневого каталога
echo "<a href=index.php?id_parent=".$cat['id_parent']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
}
//}
// Если это не корневой каталог: выводим таблицу с товарными позициями
if($_GET['id_catalog'] != 0) include "product.php";
include "../util/bottom.php";
?> | |
|
|
|
|
|
|
|
для: GOR0427
(06.05.2006 в 08:09)
| | Если не сложно, прикрепите к сообщению дамп таблицы catalog. | |
|
|
|
|
|
|
|
для: cheops
(06.05.2006 в 09:29)
| | вот пожайдусто | |
|
|
|
|
|
|
|
для: GOR0427
(06.05.2006 в 09:59)
| | /// | |
|
|
|
|
|
|
|
для: GOR0427
(06.05.2006 в 09:59)
| | Погодите - т.е. у вас один уровень вложенности? А чем тогда не подходит оригинальный код на компакт-диске - он как раз и выводит список подкаталогов на каждой странице? Или вам требуется что-то другое? | |
|
|
|
|
|
|
|
для: cheops
(06.05.2006 в 14:17)
| | Понимаете я пытаюсь сделать вложенность 3 уровней но не получаеться в книге ""PHP5 практика создания web сайтов" слева на картинке показана менюшка ссылок на разные уровни хотелось бы так где можно посмотреть такие коды может вы знаете? Или как сделать 3 уровня вложенности для клиентской части в кталоге из книги ""PHP5 практика создания web сайтов" Ведь система администрирования потдерживает вложенные подкаталоги... | |
|
|
|
|
|
|
|
для: GOR0427
(06.05.2006 в 18:14)
| | ... | |
|
|
|
|
|
|
|
для: GOR0427
(06.05.2006 в 18:14)
| | Хм... а не могли бы вы дать дамп в котором имеются записи, реализующие 3-х уровневую степень вложенности? | |
|
|
|
|
|
|
|
для: cheops
(06.05.2006 в 21:38)
| | Хм.. Я так же хотел у когонибудь узнать народ у кого есть реализация з уровней вложенности для каталога и дамп базы данных????!!!!! | |
|
|
|
|
|
|
|
для: GOR0427
(07.05.2006 в 08:40)
| | Может кто нибудь подскажет где есть пример каталога 3 уровней вложенностей? | |
|
|
|
|
|
|
|
для: GOR0427
(07.05.2006 в 11:59)
| | ??? | |
|
|
|
|
|
|
|
для: GOR0427
(07.05.2006 в 13:16)
| | Люди помогите у кого есть каталог 3х уровней вложенности! | |
|
|
|