所以我明白,如果這可能需要一段時間來處理,但我有一個下拉框,它的目的是做什麼,如果某些選擇被點擊,然後它會獲取信息數據庫取決於他們選擇的內容。我的問題是,爲什麼我的if
聲明無法工作,因爲我在每個選擇上應用了一個會話,並根據點擊的內容提取它們。PHP:簡單看似IF語句,但看起來沒有工作
下面是HTML:
<div class="button_wrap">
<select name="makeSelectLeft" class="compareButtonSizing" required="required" multiple="multiple">
<option>Make</option>
<?php session_start(); $_SESSION['MitOne']="Mitsubishi1" ?><option value="Mitsubishi1">Mitsubishi</option>
<?php session_start(); $_SESSION['SubOne']="Subaru1" ?><option value="Subaru1">Subaru</option>
<?php session_start(); $_SESSION['ToyOne']="Toyota1" ?><option value="Toyota1">Toyota</option>
</select>
<select name="modelSelectLeft" required="required" multiple="multiple">
<option>Model</option>
<?php session_start(); $_SESSION['LancOne']="Lancer1" ?><option value="Lancer1">Lancer</option>
<?php session_start(); $_SESSION['EvoOne']="Evolution1" ?><option value="Evolution1">Evolution</option>
<?php session_start(); $_SESSION['CamOne']="Camry1" ?><option value="Camry1">Camry</option>
</select>
<select name="yearSelectLeft" required="required" multiple="multiple">
<option>Year</option>
<?php session_start(); $_SESSION['1982 - 1983']="1982 - 1983" ?><option value="1982 - 1983">1982 - 1983</option>
<?php session_start(); $_SESSION['1983 - 1991']="1983 - 1991" ?><option value="1983 - 1991">1983 - 1991</option>
<?php session_start(); $_SESSION['1988 - 1995']="1988 - 1995" ?><option value="1988 - 1995">1988 - 1995</option>
<?php session_start(); $_SESSION['1995 - 2000']="1995 - 2000" ?><option value="1995 - 2000">1995 - 2000</option>
<?php session_start(); $_SESSION['2000 - 2007']="2000 - 2007" ?><option value="2000 - 2007">2000 - 2007</option>
<?php session_start(); $_SESSION['2007 - 2017']="2007 - 2017" ?><option value="2007 - 2017">2007 - 2017</option>
</select>
</div>
多數民衆贊成在我在開始爲會議添加。每個選擇都有一個會話。在PHP中,無論我選擇什麼選項,我都有三個輸出。它應該只有一個,並根據您選擇的品牌,型號和年份顯示一個。
這裏是PHP:
<?php
session_start();
if (!empty($_SESSION['MitOne']) && ($_SESSION['LancOne']) && ($_SESSION['1982 - 1983'])) {
$MitFirstState = mysql_query("SELECT Max_Speed FROM CarSpecifications WHERE id=2");
while ($MitFirstFetch = mysql_fetch_array($MitFirstState)) {
print_r($MitFirstFetch[0]);
}
}
if (!empty($_SESSION['SubOne']) && ($_SESSION['LegOne']) && ($_SESSION['1982 - 1983'])) {
$SubFirstState = mysql_query("SELECT Max_Speed FROM CarSpecifications WHERE id=3");
while ($SubFirstFetch = mysql_fetch_array($SubFirstState)) {
print_r($SubFirstFetch[0]);
}
}
if (!empty($_SESSION['ToyOne']) && ($_SESSION['CamOne']) && ($_SESSION['1982 - 1983'])) {
$ToyFirstState = mysql_query("SELECT Max_Speed FROM CarSpecifications WHERE id=4");
while ($ToyFirstFetch = mysql_fetch_array($ToyFirstState)) {
print_r($ToyFirstFetch[0]);
}
}
?>
我不明白,更主要的是,爲什麼if
語句不工作。我已經嘗試了else
陳述,並更改了isset
/empty
變量及其全部內容。它似乎沒有工作。
我再次爲大量的信息表示歉意。如果有人可以幫助,將不勝感激。
P.S.如果有人有JavaScript解決方案,歡迎。
謝謝。
你只需要在頁面上調用'session_start();'一次。這個調用需要在其他任何事之前完成,在調用之前可以沒有HTML。這很可能是您的代碼無法工作的原因,會話永遠不會啓動,因爲它之前有HTML。嘗試先改變它。 – OptimusCrime
你爲什麼使用'$ _SESSION'而不僅僅是一個常規的表單提交和適當的方法? – adeneo
即使我選擇「製作」,「模型」和「年份」選項,它仍然會返回三個數據庫檢索,這似乎並不是問題。 – Dale