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

Форум MySQL

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

 

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

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

тема: Проблема с каталогом продукции (не добавляется позиция)
 
 автор: Andrei_IW   (23.09.2006 в 18:18)   письмо автору
 
 

Уважаемые редакторы. Подскажите пожалуйста. Купил Вашу книгу PHP5, практика создания Web – сайтов, где рассматривается работа потрясающего сайта. Его код ещё записан на CD, прилагающейся к книге.

Но при эксплуатации сайта, оказалось, что в каталог продукции, нельзя добавить новую квартиру. Ну или другой товар. Хорошо создаются и редактируются подкаталоги, но сам товар (квартиры) в каталог не вносятся. Пишется, что

Ошибка при добавлении продукции

Хотя, в файле \admin\config.php я указал переменные $dblocation, $dbname, $dbuser, $dbpasswd. Без этих переменных каталог вообще не работает. Подскажите пожалуйста, в чём может быть проблема.

   
 
 автор: cheops   (24.09.2006 в 13:18)   письмо автору
 
   для: Andrei_IW   (23.09.2006 в 18:18)
 

1) Каталог никакой модификации не подвергали?
2) Исправьте строку 56 файла admin/addprod.php с
<?php
  
} else puterror("Ошибка при добавлении продукции");
?>

на
<?php
  
} else puterror("Ошибка при добавлении продукции ".mysql_error());
?>

Как теперь выглядит сообщение об ошибке?

   
 
 автор: Andrei_IW   (24.09.2006 в 18:00)   письмо автору
 
   для: cheops   (24.09.2006 в 13:18)
 

Ура, теперь всё заработало!!!

Всё, теперь всё понятно. Просто моя ошибка была в том, что изменяя под себя каталог, мне везде нужно вместо цифр везде вписывать текст. Вот поэтому выдавалась ошибка. А когда я ввёл цифры, то всё заработало.

А можно ещё вопрос. А как на примере данного каталога можно сделать поля для ввода текста. В базе данных, в таблице product, я создал свои поля. Смотря на пример Вашего каталога, поле для ввода текста note имеет тип tinytext. Я создал свои поля с такого же типа. Но всё равно, в базу записываются только цифры, вместо слов.

   
 
 автор: cheops   (25.09.2006 в 11:25)   письмо автору
 
   для: Andrei_IW   (24.09.2006 в 18:00)
 

При записи текстовых значений в операторе INSERT, их нужно заключать в одиночные кавычки... Приведите ваш SQL-запрос на вставку?

   
 
 автор: Andrei_IW   (26.09.2006 в 12:23)   письмо автору
 
   для: cheops   (25.09.2006 в 11:25)
 

У меня получается так. Ввод данных происходит в файле \admin\catalog\addprodform.php

Привожу отрывок из формы для ввода текста:


<tr><td><p class=zag2>Наименование товара</td><td><textarea class=input name=name><?php echo $name?></textarea></td></tr>


А вот мой SQL запрос, в файле \admin\catalog\addprod.php


// Формируем запрос
  $query = "INSERT INTO product VALUES (
            NULL,
            '".$_POST['produkt']."',
            '".$_POST['firma']."',
            '".$_POST['name']."',
            ".$_POST['opisanie'].",
            ".$_POST['harakter'].",
            ".$_POST['ustanovka'].",
            ".$_POST['primechanie'].",
            '$showhide',
            ".$_POST['pos'].",
            ".$_POST['id_catalog'].")";
  if(mysql_query($query)) {
    echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=".$_POST['id_catalog']."'>
          </HEAD></HTML>";
          
  } else puterror("Ошибка при добавлении продукции");
  function links($id_catalog,$msg)


Однако $ product и $ firma у меня имеют тип “enum” и там просто выбор продукции и фирмы изготовителя. А так, цифры добавляются в БД, а текст так и не хочет вводиться.

   
 
 автор: cheops   (26.09.2006 в 12:28)   письмо автору
 
   для: Andrei_IW   (26.09.2006 в 12:23)
 

Приведите структуру таблицы product, её можно получить при помощи запроса
SHOW CREATE TABLE product

   
 
 автор: Andrei_IW   (26.09.2006 в 12:36)   письмо автору
 
   для: cheops   (26.09.2006 в 12:28)
 


id_product      int(11)              Нет          auto_increment                               
produkt                 enum('svetilniki', 'vikluchateli', 'shkafi')    cp1251_general_ci         Нет     svetilniki                                    
firma                 enum('BJC', 'ELSO', 'Gira', 'Legrand', 'Unica', 'Etud')    cp1251_general_ci         Нет     BJC                                    
name                 tinytext    cp1251_general_ci         Нет                                         
opisanie                 tinytext    cp1251_general_ci         Нет                                         
harakter                 tinytext    cp1251_general_ci         Нет                                         
ustanovka                 tinytext    cp1251_general_ci         Нет                                         
primechanie       tinytext    cp1251_general_ci         Нет                                         
hide                           enum('show', 'hide')    cp1251_general_ci         Нет     show                                    
pos     int(11)              Нет     0                                    
id_catalog     int(8)              Нет     0

   
 
 автор: cheops   (26.09.2006 в 12:39)   письмо автору
 
   для: Andrei_IW   (26.09.2006 в 12:23)
 

Исправьте строку
<?php
  
} else puterror("Ошибка при добавлении продукции");
?>

на
<?php
  
} else puterror("Ошибка при добавлении продукции ".mysql_error());
?>

что теперь выводится?

   
 
 автор: Andrei_IW   (27.09.2006 в 10:38)   письмо автору
 
   для: cheops   (26.09.2006 в 12:39)
 

Если вводить текст без пробелов, то выдаётся такое сообщение


Ошибка при добавлении продукции Unknown column 'Proba' in 'field list'


А если написать несколько слов, выводиться вот что:


Ошибка при добавлении продукции You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test, Proba test, Proba test, 

   
 
 автор: Trianon   (27.09.2006 в 10:47)   письмо автору
 
   для: Andrei_IW   (27.09.2006 в 10:38)
 

Почему Вы следующие поля
"INSERT....
           ".$_POST['opisanie'].", 
            ".$_POST['harakter'].", 
            ".$_POST['ustanovka'].", 
            ".$_POST['primechanie'].", 
....)" 

не берете в апострофы? Там же текст?

Попробуйте так:
"INSERT....
           '".$_POST['opisanie']."', 
            '".$_POST['harakter']."', 
            '".$_POST['ustanovka']."', 
            '".$_POST['primechanie']."', 
....)" 

   
 
 автор: Andrei_IW   (27.09.2006 в 12:48)   письмо автору
 
   для: Trianon   (27.09.2006 в 10:47)
 

Ура!!!!! Работает!!!!

Огромное Вам спасибо за помощь!!!

   
 
 автор: Andrei_IW   (04.10.2006 в 11:11)   письмо автору
 
   для: Andrei_IW   (27.09.2006 в 12:48)
 

А вот ещё один вопрос по каталогу. Чувствую самому мне с ним не справиться. В общем, не выводятся подкаталоги, подкаталогов.

Поясню. К примеру, у меня есть подкаталоги,

“Высокое напряжение”
“Среднее напряжение”
“Низкое напряжение”.

Эти подкаталоги в корневом каталоге создаются и без проблем выводятся на странице пользователя, вместе с продукцией. Но вот мне понадобилось в каждом подкаталоге создать ещё подразделы, к примеру:

Высокое напряжение
-розетки
-выключатели
-шкафы
-лампочки

Среднее напряжение
-розетки
-выключатели
-шкафы
-лампочки

Низкое напряжение
-розетки
-выключатели
-шкафы
-лампочки

Так вот в админ меню такие подкаталоги создаются и туда хорошо заносятся товары. После эти товары можно просмотреть, но только с админ меню, а вот на странице пользователя (сайта), выводятся только названия Подкаталогов, без ПодПодкаталогов и товаров ПодПодкаталогов. То есть выведется только: “Высокое напряжение”, “Среднее напряжение”, “Низкое напряжение”, без розеток, выключателей, шкафов и лампочек. Подскажите, как можно на странице пользователя вывести ПодПодкаталоги в месте с товарами занесённые в эти ПодПодкаталоги.

   
Rambler's Top100
вверх

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