Показать сообщение отдельно
  #1 (permalink)  
Старый 25.09.2010, 16:09
Интересующийся
Отправить личное сообщение для Enxiro Посмотреть профиль Найти все сообщения от Enxiro
 
Регистрация: 25.08.2010
Сообщений: 22

JSON не передаёт строку из БД
Здравствуйте.
Задача заполнить динамически select
Есть табличка "regions". В ней поля 'id_region' и 'name'.
Из файла index.php отправляется запрос на получение значений из таблицы:
jQuery.getJSON('/modules/ajax.php', {region_id: _this.value}, function(data){
            if(getCity(data))    jQuery('select#city').removeAttr('disabled');
       });

Собственно в фукции getCity(data) по идее будет идти разбор строки JSON и заполнение селекта.

Файл ajax.php выглядит так:
$query_region = "SELECT * FROM regions";
$records = mysql_query($query_region) or die(mysql_error());
$arr = mysql_fetch_array($records);
echo json_encode($arr);  // вернуть массив регионов

Смотрю результат который приходит в Firebug. ID-шник региона приходит нормально, а вот вместо названия приходит NULL. В чём может быть причина?
т.е. любые числовые значения приходя нормально, любые текстовые не приходят..

P.S. если отправляю при помощи JSON например массив вида
$arr = array(1 => 'Hello world');

то в index эта строка нормально приходит.
т.е. предполагаю что нужно преобразовать формат строки полученный из БД что ли как то.

Последний раз редактировалось Enxiro, 25.09.2010 в 16:12.
Ответить с цитированием