【发布时间】:2015-05-24 15:13:49
【问题描述】:
我有一个 jQuery 下拉列表,其中包含两个下拉列表。第一个是汽车列表,第二个显示汽车的型号。这一切都很好。现在我想使用用户选择的选项来搜索数据库(MySQL)并在数据库中查找特定元素。这只是给了我代码中的 else ,一旦它给了我一个未定义的变量错误消息。
如何编写代码以便访问变量并显示搜索结果?这是我的代码:
这只是我正在使用的 jQuery 的一个示例 - 我实际上使用的是汽车,但这显示了城市:
<select class="select" id="province" onchange="filterCity();">
<option value="1">RM</option>
<option value="2">FI</option>
</select>
<select class="select" id="city" disabled>
<option data-province="RM" value="1">ROMA</option>
<option data-province="RM" value="2">ANGUILLARA SABAZIA</option>
<option data-province="FI" value="3">FIRENZE</option>
<option data-province="FI" value="4">PONTASSIEVE</option>
</select>
<span id="option-container" style="visibility: hidden; position:absolute;"></span>
<script>
function filterCity(){
var province = $("#province").find('option:selected').text(); // stores province
$("#option-container").children().appendTo("#city"); // moves <option> contained in #option-container back to their <select>
var toMove = $("#city").children("[data-province!='"+province+"']"); // selects city elements to move out
toMove.appendTo("#option-container"); // moves city elements in #option-container
$("#city").removeAttr("disabled"); // enables select
};
</script>
这是我试图访问搜索到的变量的代码(此代码回显错误(else)):我在第二个选择中使用了 name="car":
if (isset($_POST['car'])) {
$_SESSION['car'] = $_POST['car'];
$car = $_SESSION['car'];
}
function find_tire(){
if (isset($_POST['car'])) {
$_SESSION['car'] = $_POST['car'];
$car = $_SESSION['car'];
}
global $db;
if (isset($car)) {
$query = $db->prepare("SELECT idtires FROM vehicle WHERE idcarmodel = $car");
$query->execute();
$tire = $query->fetchAll();
var_dump($query);}
if (isset($tire)) {
echo "<ul>";
foreach ($tire as $name) {
echo "<li id='tiresearch'>";
echo "Tire Size is Available: " . $name ['idtires'];
echo "</li>";
}echo "</ul>";
} else {
echo "Wrong";
}
}
【问题讨论】:
-
你收到
$_POST['car']是因为你似乎没有在第二个select中指定name="car" -
@NarendraSisodia - 是的,我在第二次选择中使用了 name="car" - 我没有发布我的实际汽车代码,因为它太长了。
-
但是请确保在您的代码中显示它,否则这里的其他人会首先指出该错误
-
@NarendraSisodia,我把它写在函数上方,这样人们就会知道。你是这个意思吗?
-
你在
$tire中获得价值吗?为什么你有这样的冗余代码,function find_tire()和上面的代码有什么区别
标签: javascript php jquery mysql drop-down-menu