|
|
|
| Есть запрос:
$query = "SELECT * FROM penoteka_tovar
WHERE hide='show'
".$tmp1.$tmp2.$tmp3.$tmp4."
ORDER BY id";
|
Переменные $tmp1, $tmp2 и т.д. содержат:
// Артикул
if(!empty($_POST['art'])) $tmp1 = " and tov_id=".$_POST['art'];
// Название
if(!empty($_POST['name'])) $tmp2 = " and name=".$_POST['name'];
|
Проблема в том, что в базе данных нет поля hide, соответственно запрос не может выполниться. Подскажите, на что можно заменить код WHERE hide='show' , чтобы это удовлетворяло всем записям в таблице?
Я так понимаю, что лучший вариант - это проверять есть ли у записи параметр id - он автоматически присваивается, т.е. 100% есть у каждой записи. Но вот как его проверить (в смысле какой код для этого написать) - не могу сообразить.
Или же, как в целом поменять запрос к таблице базы данных?
P.S. это я пытаюсь применить код из книги "PHP5 Практика создания web-сайтов" (поиск по каталогу) на свой каталог товаров.
Подскажите, пожалуйста. | |
|
|
|
|
|
|
|
для: Dizels
(24.07.2010 в 20:45)
| | WHERE 1
горе луковое. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2010 в 20:54)
| | >WHERE 1
>
>горе луковое.
Огромное спасибо.
И подскажите, пожалуйста, а как это правильно читается? Т.е. что означает?
P.S. хочу не только чтобы скрипт заработал, но и понять - как он работает :) | |
|
|
|
|
|
|
|
для: Dizels
(24.07.2010 в 21:00)
| | 1 - как аргумент в логических операциях - воспринимается, как "истина" .
Чтобы понять, как это работает, нужно вывести и посмотреть SQL-код перед/после/вместо выполнения сервером. | |
|
|
|