Друзья, добрый день. Вопрос от новичка в PHP, задача состоит в том, чтобы в одном файле отработать два запроса, который должен выводить данные из MySQL в формате JSON, но с одним условием, чтобы они не пресекались. В данном случае если я обращаюсь к файлу в браузере просто по имени, например name.php отрабатывает запрос номер 1, если я ввожу name.php?id_party=12345 у меня отрабатывают оба сразу. Как сделать так, чтобы при вводе name.php?id_party=12345 у меня показывал данные только второй запрос? PHP: //Проверка соеденения с БД $conn = mysqli_connect($servername, $username, $password, $database); if($conn->connect_error){ die("Ошибка: " . $conn->connect_error); } //--------------------------------------------// // ЗАПРОС 1 ДЛЯ ОТОБРАЖЕНИЯ ВСЕГО СПИСКА $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"; $arr_partylist = array(); if($result = $conn->query($sql_partylist)){ foreach($result as $row){ array_push($arr_partylist, $row); } }else{ $arr_partylist["Ошибка"] = $conn->error; } echo json_encode($arr_partylist); //--------------------------------------------// //ЗАПРОС 2 C ПАРМЕТРОМ ВВОДА ID в браузерную строку пример: ?id_party=12345 $id_party = isset($_GET["id_party"]) ? $_GET["id_party"] : die(); $sql_party = "SELECT * FROM smenka_dbn WHERE idSZ ='$id_party'"; $arr_party = array(); if($result = $conn->query($sql_party)){ foreach($result as $row){ array_push($arr_party, $row); } }else{ $arr_party["Ошибка"] = $conn->error; } echo json_encode($arr_party); $conn->close(); ?>
PHP: <?php if(isset($_GET["id_party"])){ $id_party = $_GET["id_party"]; echo "Query with id_party = $id_party"; //name.php?id_party=12345 -> Query with id_party = 12345 }else{ echo "Query without parameters"; //name.php -> Query without parameters } ?>
@neutrino888, как выше показали, здесь работает только полное ветвление. Ну, или неполное с return'ом в конце блока. Иногда бывает просто неполное (без return'а внутри блока ветвления), когда один из запросов выполняет движок: Как сделать вывод списка статей? Хотя тут тоже можно if (нечего делать) return; Часто вообще не бывает ветвления в обработчиках, когда движок сам разруливает, какой из двух обработчиков вызывать