• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Проблема с Ajax+sql

  • Автор темы nosebleed
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

nosebleed

Здравствуйте.

Проблема в следующем. Есть два выпадающих списка, один содержит названия областей, второй - названия городов. На первом стоит событые onchange, которое посылает запрос с помощью XMLHttpRequest на сервер. Запрос содержит название области, сервер обращается к базе в MySQL, вытаскивает города и возвращает следующий код XML:

<?xml version="1.0" encoding="utf-8" standalone="yes"?><response><areas><area> undef </area></areas><sql_str>SELECT * FROM cities
left join areas on cities.area=areas.code
where areas.name='Луганская'
order by cities.name</sql_str></response>


(этот код я вывожу с помощью alert при получении ответа от сервара)

Как видно, названия городов передаются в тегах "<area>". Однако там лишь один - undef. sql-запрос не выполняется должным образом. Не могу понять, в чем проблема. Кодировка базы и всех страниц одинковая - utf-8. Тот же самый запрос, вставленный в phpmyadmin через copy-paste, выполняется корректно Так же выполняется запрос "SELECT * FROM cities" в коде php. Видимо, проблема все-таки в кодировках. Кто знает, в чем проблема?
 
A

Andrew Stephanoff

undef - это кусок от undefined, т. е. вы передаете значение переменной, которую не объявили, а потом видимо еще с ней что-то делаете. Проблема в javascript'e, ищите, где подставляете значение города и проверьте, ту ли переменную подставили.
 
N

nosebleed

нет. Undef - это первый элемент списка, который я добавляю в любом случае вручную (это нужно, например, для поиска по критериям - если указан конкретный город, то поиск по нему, иначе, если в качестве города выбран undef, то поиск производится по всем городам). В общем, undef - это что-то вроде "Город не указан"
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!