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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: универсальный каталог продукции

Сообщения:  [1-6] 

 
 автор: sim5   (02.08.2007 в 22:53)   письмо автору
 
   для: Ксения_954   (02.08.2007 в 22:52)
 

За что? ))

   
 
 автор: Ксения_954   (02.08.2007 в 22:52)   письмо автору
 
   для: sim5   (02.08.2007 в 20:36)
 

спасибо Вам снова!...

   
 
 автор: sim5   (02.08.2007 в 20:36)   письмо автору
 
   для: Ксения_954   (02.08.2007 в 19:46)
 

А зачем все в куче? Если у вас есть уровень выше, значит можно перейти на него:

<a href=shop.php?id_parent=id_parent>Верхний уровень</a>

Зачем, нужен в этой ссылке id_catalog? По нему вы попадаете на соответсвующий каталог, каталог, который и пренадлежит этому "верхнему" уровню. А в запросе к каталогу только:

<a href=shop.php?id_catalog=id_catalog>Чего-то там</a>

А в каталоге уже только:

<a href=shop.php?id_product=id_product>Он самый</a>

   
 
 автор: Ксения_954   (02.08.2007 в 19:46)   письмо автору
 
   для: cheops   (02.08.2007 в 09:58)
 

ошибку не выдает, спасибо.
Но, нажимая на ссылку верхний уровень, ничего не происходит, остается на той же странице.

   
 
 автор: cheops   (02.08.2007 в 09:58)   письмо автору
 
   для: Ксения_954   (02.08.2007 в 08:42)
 

Исправьте строку
<?php
  
echo "<a href=shop.php?id_parent=".$_GET['id_parent'].">Верхний уровень</a></p>";
?>

на
<?php
  
echo "<a href=shop.php?id_parent=".$_GET['id_parent']."&id_catalog=".$_GET['id_catalog'].">Верхний уровень</a></p>";
?>

   
 
 автор: Ксения_954   (02.08.2007 в 08:42)   письмо автору
 
 

Здравствуйте!
Я сделала каталог продукции, который описан в книге "Php5 Практика создания веб-сайтов".
Но столкнулась с проблемой.
Посмотрите, пожалуйста.

shop.php

<?php


  
// Устанавливаем соединение с базой данных
  
require_once("config.php");
 
?>

 <?
  
// Если значение параметра id_parent не установлено, следовательно,
  // выбран самый верхний уровень меню
  
if(!isset($_GET['id_parent'])) $_GET['id_parent'] = 0;
  
// Если имеем дело не с корневым каталогом, то выводим ссылку на
  // уровень выше и воспроизводим вышележащее меню
  
if ($_GET['id_parent'] != 0)
  {

    
// Выводим ссылку для возврата в предыдущее меню
echo "<a href=shop.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(!
$prevputerror("Ошибка при обращении к каталогу");
    
// Выводим список каталогов
    
while($pmenu mysql_fetch_array($prev))
    {
      echo 
"<a href=shop.php?id_parent=".$pmenu['id_catalog']."&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 (!
$ctgputerror("Ошибка при обращении к каталогу");
        
// Если SQL-запрос вернул больше одной строки – выводим
        // подкаталоги
        
if(mysql_num_rows($ctg)>0)
        {
          while(
$cat mysql_fetch_array($ctg))
          {
            
// Выводим список каталогов
            
echo "<a href=shop.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 (!
$ctgputerror("Ошибка при обращении к каталогу11");
    while(
$cat mysql_fetch_array($ctg))
    {
      
// Выводим список подкаталогов корневого каталога
      
echo "<a href=shop.php?id_parent=".$cat['id_catalog']."&id_catalog=".$cat['id_catalog'].">".$cat['name']."</a><br>";
    }
  }
// Если это не корневой каталог: выводим таблицу с товарными позициями
if($_GET['id_parent'] != 0) include "product11.php";
?>


product11.php

<?php

  
// Выводим таблицу с товарными позициями
  // Формируем ассоциативный массив, где в качестве ключей выступают,
  // параметры, передаваемые в строке запроса, а в качестве значений,
  // имена полей в таблице product
  
$order = array();
    
$order['vid_order'] = "vid";
   
$order['marka_order'] = "marka";
    
$order['price_order'] = "price";
     
$order['strana_order'] = "strana";
      
$order['note_order'] = "note";
       
$order['photo_order'] = "photo";
        
$order['firma_order'] = "firma";
  
$order['addressorder'] = "address";



  
$strtmp "pos";
  
// Если через параметр строки запроса задана прямая или обратная
  // сортировка по одному из полей таблицы order изменяем значение
  // временной переменной $strtmp
  
foreach($order as $parametr => $field)
  {
    if(isset(
$_GET["$parametr"]))
    {
      if(
$_GET["$parametr"] == "up")
      {
        
$_GET["$parametr"] = "down";
        
$strtmp $field;
      }
      else
      {
        
$_GET["$parametr"] = "up";
        
$strtmp "$field DESC";
      }
    }
    else 
$_GET["$parametr"] = "up";
  }
  
// Выбираем из таблицы product
  
$query "SELECT * FROM product
            WHERE id_catalog="
.$_GET['id_catalog']."
            ORDER BY 
$strtmp";
  
$prt mysql_query($query);
  if(!
$prtputerror("Ошибка при запросе к таблице товаров");
  
// количество рядов в наборе должно быть больше нуля
  
if (mysql_num_rows($prt)>0)
  {
     
$href "shop.php?id_parent=".$_GET['id_parent']."&id_catalog=".$_GET['id_catalog'];
     
?>
    <table class="table" border="1" cellpadding="3" cellspacing="0" width="100%" bordercolordark="white" bordercolorlight="silver">
     <tr class="zagtrtable" align="center">

                  <td><a href=<? echo $href."&vid_order=".$_GET['vid_o_order']; ?>>Вид</a></td>
                   <td><a href=<? echo $href."&marka_order=".$_GET['marka_order']; ?>>Марка</a></td>
                   <td><a href=<? echo $href."&price_order=".$_GET['price_order']; ?>>Цена</a></td>
                    <td><a href=<? echo $href."&strana_order=".$_GET['strana_order']; ?>>Страна
                    <td><a href=<? echo $href."&note_order=".$_GET['note_order']; ?>>Описание
                    <td><a href=<? echo $href."&photo_order=".$_GET['photo_order']; ?>>Фото</a></td>
<td><a href=<? echo $href."&firma_order=".$_GET['firma_order']; ?>>Предприятие</a></td>

       <td><a href=<? echo $href."&addressorder=".$_GET['addressorder']; ?>>Информация о предприятии</a></td>

     </tr>
    <?
    
while($par mysql_fetch_array($prt))


        
// Выводим строку таблицы
        
echo "<tr>

        <td>"
.$par['vid']."</td>
        <td>"
.$par['marka']."</td>
         <td>"
.$par['price']."</td>
          <td>"
.$par['strana']."</td>
          <td>"
.$par['note']."</td>
           <td>"
.$par['photo']."</td>
           <td>"
.$par['firma']."</td>
              <td>"
.$par['address']."$tmppict</td>
 </tr>"
;
    }


  
?>
</table>




При нажатии на ссылку "Верхний уровень", выходит ошибка "Ошибка при запросе к таблице товаров". Помогите пожалуйста, в чем тут может быть проблема.

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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