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

Форум PHP

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

 

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

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

тема: Подкаталоги (книга PhP5. Практика создания web-сайтов).
 
 автор: Alpes   (22.06.2009 в 10:24)   письмо автору
 
 

Подскажите пожалуйста, решена ли проблема вывода подкаталогов в клиентской части сайта, описанного в книге "PhP5. Практика создания web-сайтов"(первое издание)? Перерыл весь форум, так и не понял, где ошибка в коде.

  Ответить  
 
 автор: mihdan   (23.06.2009 в 11:36)   письмо автору
 
   для: Alpes   (22.06.2009 в 10:24)
 

По коду скрипта видно, где ошибка. Уже осуждалась эта тема. За неимением исходников более сказать не могу

  Ответить  
 
 автор: Alpes   (24.06.2009 в 04:49)   письмо автору
 
   для: mihdan   (23.06.2009 в 11:36)
 

Может кто-нибудь всё-таки подскажет?

  Ответить  
 
 автор: mihdan   (24.06.2009 в 10:57)   письмо автору
 
   для: Alpes   (24.06.2009 в 04:49)
 

Исходник?

  Ответить  
 
 автор: Alpes   (24.06.2009 в 13:39)   письмо автору
 
   для: mihdan   (24.06.2009 в 10:57)
 

<?php

// Устанавливаем соединение с базой данных
require_once("../admin/config.php");
$title="Каталог продукции";
include "../utils/top.php";
?>
<h1 class=artnamepage>Каталог продукции</h1>
<?
// Если значение параметра id_parent не установлено, следовательно,
// выбран самый верхний уровень меню


if(!isset($_GET['id_parent'])) $_GET['id_parent'] = 0;






// Если имеем дело не с корневым каталогом, то выводим ссылку на
// уровень выше и воспроизводим вышележащее меню
if ($_GET['id_parent'] != 0)
{
$catc=mysql_fetch_array($ctgc);
// Выводим ссылку для возврата в предыдущее меню
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>";
}
}
}
}
}
// Если это корневой каталог просто выводим его подкаталоги


// Выводим список подкаталогов
$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 "../utils/bottom.php";
?>

  Ответить  
 
 автор: Alpes   (24.06.2009 в 13:39)   письмо автору
 
   для: Alpes   (24.06.2009 в 13:39)
 

Каталог отображает, а подкаталоги нет, хотя в базе они есть

  Ответить  
 
 автор: Alpes   (25.06.2009 в 15:01)   письмо автору
 
   для: Alpes   (24.06.2009 в 13:39)
 

Так же не отображаются статьи по скриптам из этой книги. Может есть у кого рабочие скрипты?

  Ответить  
 
 автор: Ringo   (01.07.2009 в 02:42)   письмо автору
 
   для: Alpes   (25.06.2009 в 15:01)
 

А тебе нужны именно эти скрипты?
Поищи на сайте каталога скриптов, будет целая куча готовых работающих скриптов каталога.
А твои скрипты еще и с уязвимостью sql инъекции:
$query = "SELECT * FROM catalog WHERE hide='show' AND id_parent=".$_GET['id_parent']." ORDER BY pos";

  Ответить  
Rambler's Top100
вверх

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