ФорумПрограммированиеPHP для идиотов → Передача массива

Передача массива

  • mxwuser

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 18 сентября 2010 г. 4:49

    http://pyha.ru/articles/php/ajax-select/ - помогите переписать код, для передачи массива. В теме указан способ заполнения из текстового файла, а я хочу понять как передать данные из mysql БД. Вроде бы содаю массив, туда засовываю нужные ячейки из БД, но все равно не выходит. Как правильно то сделать?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 4:58, спустя 8 минут 57 секунд

    Вроде бы содаю массив, туда засовываю нужные ячейки из БД, но все равно не выходит

    покажите как вы это делаете
    adw/0
  • mxwuser

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 18 сентября 2010 г. 5:21, спустя 22 минуты 52 секунды

    $country_id = @intval($_GET['country_id']);


    $sql = "SELECT `name` FROM `city` WHERE country_ud =".(int)$country_id;
    $query = mysql_query($sql) or die("Query failed : " . mysql_error());
    $res = array();
    while($result = mysql_fetch_array($query, MYSQL_ASSOC))
    {
    $res[] = $result['name'];
    }


    print json_encode($res);


    Спустя 75 сек.
    В конце
    print_r
    , но все равно не работает…
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 5:30, спустя 8 минут 41 секунду

    print json_encode($res);
    и что у вас тут выводится?
    adw/0
  • mxwuser

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 18 сентября 2010 г. 5:34, спустя 4 минуты 52 секунды

    там print_r должно быть, и выводиться, должно, вроде как, список имен городов из базы. Но явно чето-то не так, потому как я переделывал код данный для текстового файла, и видимо ен совсем понял схему. Вот и прошу помочь разобраться.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 5:49, спустя 14 минут 50 секунд

    Но явно чето-то не так, потому как я переделывал код данный для текстового файла, и видимо ен совсем понял схему.

    Как вы переделывали код? Приведите этот код, ошибки, если есть. У вас установлен firebug или дргой отладчик?
    Спустя 66 сек.
    Вы говорите что что-то не работает, а не показываете что именно не работает и как. Поэтому наше общение затруднено
    Я просто не понимаю о чем вы
    adw/0
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 18 сентября 2010 г. 9:14, спустя 3 часа 25 минут 2 секунды

    Я понял что он хочет чтобы данные брались не из файла (как реализовано), а из БД.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 9:17, спустя 2 минуты 29 секунд

    это я тоже понял, еще когда он мне писал в ЛС, только каой толк, если не понятно где у него там и что
    adw/0
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 18 сентября 2010 г. 9:26, спустя 9 минут 21 секунду

    Я как то тоже с этим возился) Я это сделал! Сейчас не охота искать, но должно где то быть
  • mxwuser

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 18 сентября 2010 г. 13:52, спустя 4 часа 26 минут 19 секунд

    Там в статье написано все: http://pyha.ru/articles/php/ajax-select/ . Но в примере показана передача элемента списка из текстовых файлов, а мне нужно, чтобы данные из mysql передались. Уже 3 день голову ломаю, ниче не получается. Уверен что я далеко не первый кто с этим е%ется, напишите хотябы алгоритм переделывания выборки из базы, в то, что потом передается в главный файл обработчиком.
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2010 г. 13:58, спустя 5 минут 59 секунд

    mxwuser, воспроизведи пример из статьи. нормально воспроизведи, чтоб он заработал. потом посмотри, что выводит бэкенд, какая структура массива.
    потом создай отдельный скрипт, в котором делаешь выборку из базы. добейся, чтобы данные из выборки собирались в такой же по структуре массив как в первом скрипте. когда это удастся замени в первом скрипте выборку из файла на выборку из базы. всё.
    не всё полезно, что в swap полезло
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 14:06, спустя 7 минут 36 секунд

    у него есть выборка из базы, видимо рабочая, но не может это все склеить, хотя бы сорцы свои поделок привел… ИМЕННО СВОИХ, а не архив из той статьи
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 18 сентября 2010 г. 14:15, спустя 9 минут 15 секунд

    меня еще всегда порожает "я 3 дня бьюсь над проблемой…" или неделю… ладно хоть не месяц…
    зато нихрена кода своего привести не могут, за 3 дня то можно было много вариантов кода привести
    adw/0
  • mxwuser

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 18 сентября 2010 г. 14:52, спустя 36 минут 55 секунд

    Извините за мою дубовость, сейчас постараюсь заново все полностью описать.
    Пример в тхт файлами отлично работает.
    Так в том то и дело, что толком ничего не могу сделать-написать. Форма - та же что и в примере, фронт-энд тоже копипастил. Остается бэк-энд.
    В Бэк-энде, который дается в примере, из текстового файла с именами регионов, проделываются некие манипуляции, в итоге получается массив, при принте которого выводится следующее:
    {"type":"success","regions":[{"id":1,"title":"Piter"},{"id":2,"title":"Kazan"},{"id":3,"title":"Chelyabinsk"},{"id":4,"title":"Chelni"}]}

    Тут включая примитивную логику, напрашивается следущий вывод: чтобы все вы работало с данными из БД, нужно эти данные упаковать так, чтобы на выводе давали данные в том же виде что и сейчас в примере.
    Далее я сделал выборку по данным из первого списка:

    $sql = "SELECT `name` FROM `city` WHERE country_ud =".(int)$country_id;
    $query = mysql_query($sql) or die("Query failed : " . mysql_error());
    $result = mysql_fetch_array($query, MYSQL_ASSOC);

    Получив данные, начинаются проблемы, а точнее не знание дальнейших действий. Вроде бы данные есть, все можно засунуть в обычный массив через цикл, но данные будут в другом виде нежели требуются. Вот у меня и простейшая можно сказать задача, перепаковать в том виде что должны быть, но я просто НЕ УМЕЮ этого, и прошу помощи, чтобы подсказали каким образом мне сделать из выборки, подходящий для отображения массив.
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2010 г. 15:10, спустя 17 минут 43 секунды



    $result = array('type'=>'', 'regions' => array());
    if (!mysql_error()){
    $result['type'] = 'success';
    while ($res = mysql_fetch_assoc()){
    $result['regions'][] = array(
    'id' => $res['id'],
    'title' => $res['title']
    );
    }
    } else {
    $result['type'] = 'fail';
    }

    print_r ($result);
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!