【发布时间】:2013-06-09 12:22:17
【问题描述】:
您好,下面的代码有效,代码对类别所做的只是供用户选择的下拉菜单,但当用户选择长度时,Length 的下拉菜单应该对数据库进行 ajax然后无论用户从下拉列表中选择的那个长度的价格应该在price 是什么时候显示。
SELECT price FROM product WHERE
category=:dropdownval1 AND
type=:dropdownval2 AND prodID=:id
到目前为止,我只知道 ajax 应该运行上面的查询,但是 我不知道如何让 ajax 运行这个查询,到目前为止我已经尝试了 2 种不同的代码,但它们都没有工作。有人可以直接指出我吗?
我知道 ajax 通过 php 获取价格,然后在回调中使用 jquery 更改价格
<form>
<tr>
<td width="160">Price:</td>
<?php
dbconnect();
$stmt2 = $conn->prepare("SELECT Length, price FROM Product WHERE ProdID=:id LIMIT 1");
$stmt2->bindParam('id',$id);
$stmt2->execute();
$i = 0;
foreach ($stmt2->fetchAll(PDO::FETCH_ASSOC) as $row2) {
if ($i == 0) {
echo '<td>'.$row2['price'].'</td>';
}
}
?>
<tr>
<td>Category</td>
<td>
<select name="Category">
<?php
dbconnect();
$stmt = $conn->prepare("SELECT Category FROM Product WHERE ProdID=:id GROUP BY Category");
$stmt->bindParam('id',$id);
$stmt->execute();
$i = 0;
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row ) {
if ($i == 0) {
$dropdownval1 = $row['Category'];
echo '<option SELECTED value="'.$row['Category'].'">'.$row['Category'].'</option>';
}
else {
echo '<option value="'.$row['Category'].'">'.$row['Category'].'</option>';
}
$i++;
}
?>
</select>
</td>
</tr>
<tr>
<td width="160">Length:</td>
<td>
<select name="length">
<?php
dbconnect();
$stmt3 = $conn->prepare("SELECT Length, Price FROM Product WHERE ProdID=:id AND Category=:dropdownval1");
$stmt3->bindParam('id',$id);
$stmt3->bindParam('dropdownval1',$dropdownval1 );
$stmt3->execute();
$i = 0;
foreach ($stmt3->fetchAll(PDO::FETCH_ASSOC) as $row3 ) {
if ($i == 0) {
echo '<option SELECTED value="'.$row3['Hair_Length'].'">'.$row3['Hair_Length'].'</option>';
}
else {
echo '<option value="'.$row3['Hair_Length'].'">'.$row3['Hair_Length'].'</option>';
}
$i++;
}
?>
</select>
</td>
</form>
【问题讨论】:
-
需要澄清。您的意思是在选择了类别和长度后通过 AJAX 获取价格?