![]() |
|
Модераторы: skyboy |
![]()
|
|
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Может у меня просто Apache и MySQL как-то криво сконфигурированы, потому, что я не первый раз сталкиваюсь с подобными проблемами, когда казалось бы все должно безупречно работать, приходится искать какие-то хитрые уловки.
Всю платформу для разработки я взял из комплексного пакета Denver2, по-моему с сайта www.dklab.ru, если не ошибаюсь. Может все-таки стоит еще раз обратить внимание на синтаксис запроса. Я полагаю, что в этой части запроса ...and (age BETWEEN '$age1' AND '$age2') ORDER BY ..., не совсем корректно расставлены кавычки. Что скажешь? |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
Попробуй сделать просто выборку типа
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Ты прав, MuToGeN, твой простой пример сработал, т.е. явно указанный константами интервал - действует.
Причина в передаче переменных $age1 и $age2. Нужно работать над синтаксисом, видимо здесь собака зарыта! Синтаксис типа ...and (age BETWEEN '$age1' AND '$age2') ORDER BY ... здесь точно не работает |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Сильно каюсь, ибо я ввел в заблуждение и себя и тебя. Дело в том, что код сенария у меня находится в стадии отладки. И в коде имеется много всякого закоментированного "мусора", как на зло одна из "лишних" строк случайно раскоментировалась, незаметно для меня, поэтому я даже не "шарил" по всему коду в поисках подобных косяков.
Я устранил причину конфликта, и теперь все работает отлично. Мне не понятно только одно, почему интерпретатор не выдавал сообщение об шибке? Именно это и загнало меня в тупик. |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
BlackHawk, проверь, как выглядит запрос после подставления значений переменных, т.е. на той стадии, когда он из ...(age BETWEEN '$age1' AND... уже превратился, например, в ...(age BETWEEN '24' AND...
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Ты абсолютно прав, MuToGeN,
я заметил еще вчера, что после подстановки значений из формы запрос на выборку интервала работает безукоризненно. Но есть одно огромное "НО": он блокирует сам собой весь остальной запрос, кстати конструкция типа (age>=$age1 AND age<=$age2) работает точно также. Если подставить перед скобкой OR вместо AND, то весь запрос начинает работать, кроме части запроса по интервалу (в этом случае он "вываливает" все значения, независимо от установленного интервала). |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
Ну проверь тогда, чему равны $age1 и $age2, т.е. пропиши перед строкой $query=.... такую вещь: echo "age1: $age1, age2: $age2<br />";. Не удивлюсь, если вылетит age1: 0, age2: 0
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Нет, MuToGeN, дело немножко не в этом. Данные в вышеуказанных переменных передаются замечательно и выборка по интервалу производится безупречно, но остальная часть запроса блокируется и совсем не реагирует на переменные, передаваемые с формы, хотя я уверен на все 100%, что абсолютно все переменные передаются одинаково хорошо, будь то переменные интервала возраста или имени или профессии и т.д.
Я все переменные проверил через echo. Проблема состоит в том, что в запросе $query="SELECT * FROM people WHERE lastname LIKE '%$last_name%' and name LIKE '%$name%' and town LIKE '%$s_town%' and job_title LIKE '%$job_title%' and sex LIKE '%$s_sex%' and education LIKE '%$s_education%' and address LIKE '%$address%' and (age BETWEEN '$age1' AND '$age2') ORDER BY `ID`"; выражение and (age BETWEEN '$age1' AND '$age2') блокирует весь остальной запрос, но если его удалить, то весь запрос работает отлично! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Может все дело во взаимосвязи с конструкцией визуального вывода результата?
Код визуального вывода результата немного "большеват", но в оригинале выглядит так: $list=mysql_query($query); for($i=0; $i<@mysql_num_rows($list); $i++) { $r=mysql_fetch_array($list); echo "<tr><td width='50%' bgcolor='3163BD'><TABLE><TR><TD width='1%'><img src='img/style/05.gif'></TD><TD width='99%' height='25'><font face='verdana' size='1' color='ffffff'><b>",@$r[lastname]," ",@$r[name]," ",@$r[surname],", ",@$r[age]," ",@лет,"</b></font></TD></TR></TABLE></td><td width='50%' align='right' bgcolor='3163BD' height='25'><img src='img/style/titlebg.gif'>", "</td></tr><tr class='text'><td background='img/style/bg03.gif' colspan='2'>", "<font face='verdana' color='9cc2e4' size='1'><b>","Общая информация: ", "</b></font></td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","Кандидат на вакансию: ", "</b></font>" , @$r[job_title],"</td></tr><tr class='text'><td background='img/style/bg04.gif' width='30%'>", "<font face='verdana' color='151E27' size='1'><b>","Образование: ", "</b></font>" , @$r[education],"</td><td width='70%' background='img/style/bg04.gif'>",@$r[ed_story],"</td></tr><tr class='text'><td background='img/style/bg04.gif' width='30%'>", "<font face='verdana' color='151E27' size='1'><b>","Опыт работы: ", "</b></font>" , @$r[stage],"</td><td background='img/style/bg04.gif' width='70%'>",@$r[text],"</td></tr><tr class='text'><td background='img/style/bg04.gif' width='30%'>", "<font face='verdana' color='151E27' size='1'><b>","Занятость: ", "</b></font>" , @$r[employment],"</td><td background='img/style/bg04.gif' width='70%'>", "<font face='verdana' color='151E27' size='1'><b>","График работы: ", "</b></font>" , @$r[work_grafic],"</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='55A3FF' size='1'><b>","Желаемый уровень заработной платы: ", "</b></font>" , " от ", @$r[payment], "$", "</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='326595' size='1'><b>","Гражданство: ", "</b></font>" , @$r[sitizenship], " ", @$r[another_sitiz], "</td></tr><TR height='10'><TD colspan='2' background='img/style/bg04.gif'>", " " ,"</TD></TR><tr class='text'><td background='img/style/bg03.gif' colspan='2'>", "<font face='verdana' color='9cc2e4' size='1'><b>","Контактная информация: ", "</b></font></td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","Место проживания: ", "</b></font>" ,@$r[town]," ",@$r[another_town],", ",@$r[address],", станция метро (г. Москва): ",@$r[metro],"</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","Телефон: ", "</b></font>" ,@$r[telephone],"</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","E-mail: ", "</b></font>" ,@$r[mail],"</td></tr><tr class='text'><td background='img/style/bg03.gif' colspan='2'>", "<font face='verdana' color='9cc2e4' size='1'><b>","Дополнительная информация: ", "</b></font></td></tr><tr class='text'><td background='img/style/bg04.gif' width='30%'>", "<font face='verdana' color='151E27' size='1'><b>","Пол: ", "</b></font>" , @$r[sex],"</td><td width='70%' background='img/style/bg04.gif'><font face='verdana' color='151E27' size='1'><b>","Семейное положение: ", "</b></font>" ,@$r[family],"</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","Группа в базе: ", "</b></font>" ,@$r[chapter],"</td></tr><tr class='text'><td background='img/style/bg04.gif' colspan='2'>", "<font face='verdana' color='151E27' size='1'><b>","Знание иностранного языка: ", "</b></font>" ,@$r[lang],"</td></tr><tr class='text'><td background='img/style/bg04.gif' width='30%'>", "<font face='verdana' color='ff0000' size='1'><b>","Личный ID соискателя: ", "</b></font>" , @$r[ID],"</td><td width='70%' background='img/style/bg04.gif'><font face='verdana' color='151E27' size='1'><b>","Дата и время внесения резюме: ", "</b></font>" ,@$r[data],"</td></tr><TR height='40'><TD>" , "</TD></TR>"; } echo "</table>"; |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Я убрал все @ из сценария, мне пришлось только в части визуального вывода в квадратных скобках имена полей взять в одинарные кавычки (иначе интерпретатор выдает: "undefined variable ...."), а в целом все работает точно также !!!
|
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
мдя... вообще, чтоб точно убедиться, в чем проблема - в выводе данных или в MySQL, возьми пример запроса с подставленными данными и прогони его, например, через phpMySQLAdmin
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
phpMySQLAdmin у меня нет, но вместе с Денвером установилась phpMyAdmin.
Я ввожу пример своего запроса в режиме SQL в phpMyAdmin, в ответ получаю: "Your SQL-query has been executed successfully!", но результата выборки я не вижу! Вот в чем беда! |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
А как запрос выглядит, который в phpMyAdmin-e вводил?
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| BlackHawk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Я попытался максимально упростить вывод результата:
$list=mysql_query($query); for($i=0; $i<mysql_num_rows($list); $i++) { $r=mysql_fetch_array($list); echo "$r['lastname'], $r['name'], $r['surname'], $r['age']","<br>"; } но получил тот же эффект: выводятся пустые значения !!! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |