За последние 24 часа нас посетили 18704 программиста и 1665 роботов. Сейчас ищут 1036 программистов ...

Отдельное отображение результата двух запросов из БД в формате JSON

Тема в разделе "PHP для новичков", создана пользователем neutrino888, 7 фев 2023.

Метки:
  1. neutrino888

    neutrino888 Новичок

    С нами с:
    7 фев 2023
    Сообщения:
    1
    Симпатии:
    0
    Друзья, добрый день. Вопрос от новичка в PHP, задача состоит в том, чтобы в одном файле отработать два запроса, который должен выводить данные из MySQL в формате JSON, но с одним условием, чтобы они не пресекались. В данном случае если я обращаюсь к файлу в браузере просто по имени, например name.php отрабатывает запрос номер 1, если я ввожу name.php?id_party=12345 у меня отрабатывают оба сразу. Как сделать так, чтобы при вводе name.php?id_party=12345 у меня показывал данные только второй запрос?
    PHP:
    1. //Проверка соеденения с БД
    2. $conn = mysqli_connect($servername, $username, $password, $database);
    3. if($conn->connect_error){
    4.     die("Ошибка: " . $conn->connect_error);  
    5. }
    6. //--------------------------------------------//
    7.  
    8. // ЗАПРОС 1 ДЛЯ ОТОБРАЖЕНИЯ ВСЕГО СПИСКА
    9. $sql_partylist = "SELECT distinct c.id as id_party, c.notation as notation, c.name as party_name from collections c WHERE c.link_type = 134";
    10. $arr_partylist = array();
    11. if($result = $conn->query($sql_partylist)){
    12.     foreach($result as $row){
    13.         array_push($arr_partylist, $row);
    14.     }
    15. }else{
    16.         $arr_partylist["Ошибка"] = $conn->error;
    17. }
    18. echo json_encode($arr_partylist);
    19. //--------------------------------------------//
    20.    
    21. //ЗАПРОС 2 C ПАРМЕТРОМ ВВОДА ID в браузерную строку    пример: ?id_party=12345
    22. $id_party = isset($_GET["id_party"]) ? $_GET["id_party"] : die();
    23. $sql_party = "SELECT * FROM smenka_dbn WHERE idSZ ='$id_party'";
    24. $arr_party = array();
    25. if($result = $conn->query($sql_party)){
    26.     foreach($result as $row){
    27.         array_push($arr_party, $row);  
    28.     }
    29. }else{
    30.         $arr_party["Ошибка"] = $conn->error;
    31. }
    32. echo json_encode($arr_party);          
    33. $conn->close();
    34. ?>
     
  2. rr33rr

    rr33rr Активный пользователь

    С нами с:
    6 май 2021
    Сообщения:
    35
    Симпатии:
    18
    PHP:
    1. <?php
    2. if(isset($_GET["id_party"])){
    3.     $id_party = $_GET["id_party"];
    4.     echo "Query with id_party = $id_party"; //name.php?id_party=12345 -> Query with id_party = 12345
    5. }else{
    6.     echo "Query without parameters"; //name.php -> Query without parameters
    7. }
    8. ?>
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.837
    Симпатии:
    651
    @neutrino888, как выше показали, здесь работает только полное ветвление. Ну, или неполное с return'ом в конце блока.

    Иногда бывает просто неполное (без return'а внутри блока ветвления), когда один из запросов выполняет движок: Как сделать вывод списка статей? Хотя тут тоже можно if (нечего делать) return; :)

    Часто вообще не бывает ветвления в обработчиках, когда движок сам разруливает, какой из двух обработчиков вызывать ;)
     
    #3 miketomlin, 7 фев 2023
    Последнее редактирование: 7 фев 2023