所以我明白,如果这可能需要一段时间来处理,但我有一个下拉框,它的目的是做什么,如果某些选择被点击,然后它会获取信息数据库取决于他们选择的内容。我的问题是,为什么我的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