|
 9 Кб |
|
| Здравствуйте!
У меня такая проблема. Есть файл в котором форма для поиска(немного переделанная из вашего "Универсального каталога"). И вот там такая проблема, если я в поле "Где искать" выбираю "квартира " то у меня выводится только одна запись. А квартир в базе 4. А если выбираю хоть что другое в том же поле, то все работает нормально, прям фантастика. Посмотрел, запрос и в том и в другом случае выглядит одинаково, ну в смысле синтаксис. В чем может быть причина? Посмотрите пожалуйста. Файл в аттаче. | |
|
|
|
|
|
|
|
для: Mefisto84
(21.05.2006 в 19:11)
| | Какой запрос в конечном итоге формируем скрипт? | |
|
|
|
|
|
|
|
для: cheops
(21.05.2006 в 21:46)
| | Вот код самого запроса который формируется.
$query = "SELECT * FROM product
WHERE hide='show'
".$tmp11.$tmp1.$tmp2.$tmp3.$tmp4.$tmp5.$tmp6.$tmp7.$tmp8.
$tmp9.$tmp10.$tmp12.$tmp13.$tmp14.$tmp15.$tmp16.$tmp17.$tmp18."
ORDER BY nomination";
|
Синтаксис конечно одинаковый с любыми данными в запросе. Но при выборе квартиры он работает не правильно!
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Mefisto84
(22.05.2006 в 13:57)
| | Пожалуйста выведите его в окно браузера
как он выглядит уже сформированный? | |
|
|
|
|
|
|
|
для: cheops
(22.05.2006 в 16:12)
| | Спасибо за помощь. Ну как я говорил, я его выводил он выглядит во всех случаях одинаково, в смысле синтаксис, вот пожалуйста, если указываю в поиске квартира:
SELECT * FROM product WHERE hide='show' and balcony='none' and nomination='квартира' ORDER BY nomination
|
а вот если к примеру гараж:
SELECT * FROM product WHERE hide='show' and balcony='none' and nomination='гараж' ORDER BY nomination
|
И когда указываешь квартира то выводит одну запись, а их 4. А если указываешь хоть что другое, к примеру гараж, то показывает все. | |
|
|
|
|
|
|
|
для: Mefisto84
(22.05.2006 в 18:07)
| | А фрагмент дампа с четырьмя квартирами можно глянуть? | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 18:19)
| | дамп? Конечно можно, там все равно данные не реальные, это я пока что тренируюсь по Вашей книге. Дамп в аттаче. | |
|
|
|
|
|
|
|
для: Mefisto84
(22.05.2006 в 18:42)
| | Теперь всё ясно. У Вас balkony = 'none' получается только в одной из 4-х строк. В той, где в этом поле стоит 0.
И одна-то лишняя... поле balkony - целочисленное. Сравнивать его со строкой none - несколько самонадеяно.
BTW. Это не моя книга. Во всяком случае, не более чем Ваша. :) | |
|
|
|
|
|
|
|
для: Trianon
(22.05.2006 в 19:19)
| | Большое спасибо что указали мне на этот балкон. Я посмотрел еще раз внимательно код, и обнаружил посредине строку echo $_POST['nomination']. Не помню для чего я её выводил, но когда я её снес, о чудо :-) все заработало. ДВедь балкон при параметре none не должен был добавляться в запрос. Спасибо, блин невнимательность. | |
|
|
|