Мне нужно, чтобы эти два отдельных оператора были одним из операторов с использованием условного выражения if
или elseif
или любого другого условного оператора, который будет выполнять любой из двух запросов и отображать результаты.
<?php require ($_SERVER["DOCUMENT_ROOT"]."/medikconfig/db_medicpharm.php"); $connection = @mysql_connect($db_host, $db_user, $db_password) or die("error connecting"); mysql_select_db($db_name, $connection); $doctor = $_GET["txt_doctor"]; $len = strlen($doctor); $states = $_GET["txt_state"]; $specialize = $_GET["txt_specialize"]; if ($len > 0) { $email = $_GET["txt_email"]; $hospital = $_GET["txt_hospital"]; $state = $_GET["txt_state"]; $org = $_GET["txt_org"]; $link = $_GET["txt_web"]; $query = "INSERT INTO doctor_locator (autoID, `Name of Doctor`, `Email`, `Hospital of Practise`,`State`,`Specialization`, `Professional Organization`, `webpage`) VALUES (NULL,'$doctor','$email','$hospital','$state','$specialize','$org', '$link')"; mysql_query($query, $connection) or die (mysql_error()); } ?>
первое заявление
<?php $specialize = $_GET["txt_specialize"]; $states = $_GET["txt_state"]; $link = $_GET["txt_web"]; $sql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator` WHERE state = '$states' AND specialization = '$specialize' "; $retval = mysql_query( $sql); if (!$retval) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval)) { echo "{$row['autoID']}. ". "Name of Doctor: <a href = \"{$row['webpage']}\">{$row['Name of Doctor']} </a><br>" ."Email: {$row['Email']} <br>". "Hospital of Practise: {$row['Hospital of Practise']} <br>". "State: {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> "; } mysql_free_result($retval); echo "Fetched data successfully\n.<br/>"; echo "<a href=home.php>go back to homepage</a>"; mysql_close($connection); ?>
второе заявление
<? $specialize = $_GET["txt_specialize"]; $states = $_GET["txt_state"]; $link = $_GET["txt_web"]; $sqldoc = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator` WHERE `name of doctor` LIKE 'Dr%' AND state = '$states'"; $retvaldoc = mysql_query( $sqldoc); if (!$retvaldoc) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retvaldoc)) { echo "{$row['autoID']}. "."Name of Doctor: <a href = \"{$row['webpage']}\">{$row['Name of Doctor']} </a><br>" ."Email: {$row['Email']} <br>". "Hospital of Practise: {$row['Hospital of Practise']} <br>". "State: {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> "; } mysql_free_result($retvaldoc); echo "Fetched data successfully\n.<br/>"; echo "<a href=home.php>go back to homepage</a>"; mysql_close($connection); ?>
разница
$doctor = $_GET["txt_doctor"];
вы можете сначала проверить $_GET["txt_doctor"];
а затем с кодом ниже
if(isset( $_GET["txt_doctor"])) { // second statement }else { // first statement }
Твой вопрос очень трудно понять. Форматирование кода помогло мне понять ваш вопрос немного больше, хотя …
первый запрос
SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator` WHERE state = '$states' AND specialization = '$specialize'
второй запрос
SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator` WHERE `name of doctor` LIKE 'Dr%' AND state = '$states'
этот запрос фильтрует только две вещи. Где имя доктора начинается с Dr
и для $states
. Это кажется мне неправильным … но это код, который вы предоставили. Кажется, должно быть имя, которое вы фильтруете.
комбинированный
$sql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator` WHERE state = '$states' AND specialization = '$specialize' AND `name of doctor` LIKE 'Dr%'
Фильтр $states
был там дважды.
вопрос – похоже, вы действительно не хотите, чтобы эти два вопроса присоединились, вы хотите, чтобы они выполнялись отдельно в зависимости от чего-то. Мне нужно знать, что определяет, какой запрос выполняется.
If ($query = "run query 1") { // run query 1... } else { // run query 2... }
вы не предоставили достаточную информацию в своем первоначальном посте для меня, чтобы написать эту логику.