Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Каталог
 
 автор: GOR0427   (05.05.2006 в 12:08)   письмо автору
 
 

Католог из книги "PHP 5 Практика создания WEB сайтов "

не пойму почему в клиентской части не выводится подкаталоги и меню подкаталога Подскажите может кто знает!!!!

   
 
 автор: GOR0427   (05.05.2006 в 12:53)   письмо автору
 
   для: 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";
?>

   
 
 автор: cheops   (05.05.2006 в 12:54)   письмо автору
 
   для: GOR0427   (05.05.2006 в 12:08)
 

Если имеется необходимость их можно вывести.

   
 
 автор: GOR0427   (05.05.2006 в 13:00)   письмо автору
 
   для: cheops   (05.05.2006 в 12:54)
 

А как не подскажете ?

   
 
 автор: cheops   (05.05.2006 в 13:25)   письмо автору
 
   для: GOR0427   (05.05.2006 в 13:00)
 

Поднимите пожалуйста тему вечером, если я забуд ответить.

   
 
 автор: GOR0427   (05.05.2006 в 14:21)   письмо автору
 
   для: cheops   (05.05.2006 в 13:25)
 

Спасибо!

   
 
 автор: GOR0427   (05.05.2006 в 15:37)   письмо автору
 
   для: GOR0427   (05.05.2006 в 14:21)
 

Помаг=ите пожайлусто.....

   
 
 автор: GOR0427   (05.05.2006 в 16:33)   письмо автору
 
   для: GOR0427   (05.05.2006 в 15:37)
 

.....

   
 
 автор: GOR0427   (05.05.2006 в 17:13)   письмо автору
 
   для: GOR0427   (05.05.2006 в 16:33)
 

Вроде что тоо получилось но возврат на уровень вверх работает только для первого уровня немогу понять как для остальных сделать и по возможности подскажите как лучьше

   
 
 автор: cheops   (05.05.2006 в 22:20)   письмо автору
 
   для: 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 (!
$ctgputerror("Ошибка при обращении к каталогу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 (!
$ctgputerror("Ошибка при обращении к каталогу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>";
    }
?>

   
 
 автор: GOR0427   (06.05.2006 в 08:09)   письмо автору
 
   для: 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";
?>

   
 
 автор: cheops   (06.05.2006 в 09:29)   письмо автору
 
   для: GOR0427   (06.05.2006 в 08:09)
 

Если не сложно, прикрепите к сообщению дамп таблицы catalog.

   
 
 автор: GOR0427   (06.05.2006 в 09:59)   письмо автору
 
   для: cheops   (06.05.2006 в 09:29)
 

вот пожайдусто

   
 
 автор: GOR0427   (06.05.2006 в 13:04)   письмо автору
 
   для: GOR0427   (06.05.2006 в 09:59)
 

///

   
 
 автор: cheops   (06.05.2006 в 14:17)   письмо автору
 
   для: GOR0427   (06.05.2006 в 09:59)
 

Погодите - т.е. у вас один уровень вложенности? А чем тогда не подходит оригинальный код на компакт-диске - он как раз и выводит список подкаталогов на каждой странице? Или вам требуется что-то другое?

   
 
 автор: GOR0427   (06.05.2006 в 18:14)   письмо автору
 
   для: cheops   (06.05.2006 в 14:17)
 

Понимаете я пытаюсь сделать вложенность 3 уровней но не получаеться в книге ""PHP5 практика создания web сайтов" слева на картинке показана менюшка ссылок на разные уровни хотелось бы так где можно посмотреть такие коды может вы знаете? Или как сделать 3 уровня вложенности для клиентской части в кталоге из книги ""PHP5 практика создания web сайтов" Ведь система администрирования потдерживает вложенные подкаталоги...

   
 
 автор: GOR0427   (06.05.2006 в 20:22)   письмо автору
 
   для: GOR0427   (06.05.2006 в 18:14)
 

...

   
 
 автор: cheops   (06.05.2006 в 21:38)   письмо автору
 
   для: GOR0427   (06.05.2006 в 18:14)
 

Хм... а не могли бы вы дать дамп в котором имеются записи, реализующие 3-х уровневую степень вложенности?

   
 
 автор: GOR0427   (07.05.2006 в 08:40)   письмо автору
 
   для: cheops   (06.05.2006 в 21:38)
 

Хм.. Я так же хотел у когонибудь узнать народ у кого есть реализация з уровней вложенности для каталога и дамп базы данных????!!!!!

   
 
 автор: GOR0427   (07.05.2006 в 11:59)   письмо автору
 
   для: GOR0427   (07.05.2006 в 08:40)
 

Может кто нибудь подскажет где есть пример каталога 3 уровней вложенностей?

   
 
 автор: GOR0427   (07.05.2006 в 13:16)   письмо автору
 
   для: GOR0427   (07.05.2006 в 11:59)
 

???

   
 
 автор: GOR0427   (08.05.2006 в 06:23)   письмо автору
 
   для: GOR0427   (07.05.2006 в 13:16)
 

Люди помогите у кого есть каталог 3х уровней вложенности!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования