За последние 24 часа нас посетили 17733 программиста и 1712 роботов. Сейчас ищут 952 программиста ...

get-запрос

Тема в разделе "Прочие вопросы по PHP", создана пользователем Ilfar_sif, 4 апр 2015.

  1. Ilfar_sif

    Ilfar_sif Новичок

    С нами с:
    25 мар 2015
    Сообщения:
    3
    Симпатии:
    0
    помогите с 4 пунктом:
    есть таблица prod_shop с полями id_mag, id_prod, price.
    1)получаем get-запрос ввиде массива id(1,2,3)(URL-адрес: get.ru/test2.php?id[]=1&id[]=2&id[]=3)
    2)get-запрос записываем в массив $ac.
    3)делаем запрос(SELECT id_mag, id_prod, price FROM prod_shop)
    4)Проверяем, существует ли в массиве запроса($row) указанное значения полученные с помощью get-запроса: if (in_array($as, $r))
    5)если существует, то возвращаем эту строку : $results = array('id_mag' => $row['id_mag'] ,'id_prod' => $row['id_prod'] ,'currency'=>$row['MIN(price)']);
    6)вывод в формате JSON

    Код (PHP):
    1. $ac=array();
    2. if ( isset($_GET["id"] )) {//получаем get-запрос
    3.    
    4.    foreach ($_GET as $key=>$value) {
    5.        $ac=$value;                  //заполняем массив значениями
    6.  
    7. }
    8.     
    9. }
    10. //делаем запрос
    11.  
    12. $sql=mysql_query("SELECT id_mag, id_prod, MIN(price) FROM prod_shop GROUP BY id_prod;");
    13. if (mysql_num_rows($sql) > 0) {       //проверяем: резултаты запроса >0
    14.     $response["Magazin"] = array();
    15. while($row=mysql_fetch_array($sql))
    16. {
    17. $r[]= $row['id_mag'];
    18.     if (in_array($as, $r)) {
    19.  $results = array('id_mag' => $row['id_mag'] ,'id_prod' => $row['id_prod'] ,'currency'=>$row['MIN(price)']);
    20. } 
    21.    
    22.             json_encode( $results, JSON_UNESCAPED_UNICODE);// вывод JSON
    23. }
    24.  
    25.     }
    26.  
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Задание бредовое, ваша реализация - ещё бредовее..
    И чего вы тут делаете? Вы не заполняете массив значениями, вам кажется, что этот код работает, поскольку если в get-параметрах только id передать, то действительно он сделает то, что надо. А вот если передать что-то ещё, полетит всё нафиг. Всё гораздо проще:
    Код (Text):
    1.  
    2. $ac = $_GET["id"]; // В показанном случае $_GET["id"] уже будет массивом
    Что это за бред? Давайте нормальную задачу. Вам надо вернуть json-ом продукты с указанными ID, или что? in_array здесь в 100 вернёт false, особенно в такой реализации. А может стоит средства базы данных применить? инструкцию WHERE, к примеру? А то бред-бредом всё это пока. Запрос у вас тоже странный, не понять, какую задачу решает