所选项目的PHP请求价格
因此,我有一个表,其中包含以下ItemID、ItemName和ItemPrice。我有一个下拉菜单,根据数据库中的ItemID列出项目的名称。现在我想根据用户从下拉菜单中选择的内容显示该商品的价格 以下是我尝试过的:所选项目的PHP请求价格,php,html,mysql,Php,Html,Mysql,因此,我有一个表,其中包含以下ItemID、ItemName和ItemPrice。我有一个下拉菜单,根据数据库中的ItemID列出项目的名称。现在我想根据用户从下拉菜单中选择的内容显示该商品的价格 以下是我尝试过的: <?php include ("account.php"); include ("connect.php"); $query = "SELECT * FROM Inventory
<?php
include ("account.php");
include ("connect.php");
$query = "SELECT * FROM Inventory";
$result = mysql_query($query);
$options ="";
while ($row = mysql_fetch_array($result))
{
$options .= '<option value="' . $row["ItemID"] . '">' . $row["ItemName"] . '</option>';
}
echo '<select name="ItemName">' . $options . '</select>';
$getPrice = "SELECT ItemPrice FROM Inventory WHERE ItemID = '$options' ";
$getPrice = mysql_query($getPrice);
$getPrice = mysql_result($getPrice, 0);
echo '<label for="Price">Price: </label>';
echo "$getPrice";
?>
它在下拉菜单中显示项目,但无论我选择什么,都无法显示价格。我对整个PHP秀都是新手,不知道自己做错了什么
$getPrice = "SELECT ItemPrice FROM Inventory WHERE ItemID = '$options' ";
这就是问题所在。$options变量包含一个带有不同选项的html文本,但PHP不了解这一点。变量不包含用户要选择的项目的id
您需要一个函数来将变量发送到另一个(或同一个)PHP页面
你应该阅读本教程:你能试试这个吗
<script>
$(document).ready(function () {
$(".Items").change(function(){
window.location.href='?ItemID='+$(this).val();
});
});
<script>
$(文档).ready(函数(){
$(“.Items”).change(函数(){
window.location.href='?ItemID='+$(this.val();
});
});
PHP代码:
<?php
include ("account.php");
include ("connect.php");
$query = "SELECT * FROM Inventory";
$result = mysql_query($query);
$options ="";
while ($row = mysql_fetch_array($result))
{
$options .= '<option value="' . $row["ItemID"] . '">' . $row["ItemName"] . '</option>';
}
echo '<select name="ItemName" class="Items">' . $options . '</select>';
$ItemID = $_GET['ItemID']; // retrive ItemID from querystring
$getPrice = "SELECT ItemPrice FROM Inventory WHERE ItemID = '$ItemID' ";
$getPrice = mysql_query($getPrice);
$getPrice = mysql_result($getPrice, 0);
echo '<label for="Price">Price: </label>';
echo "$getPrice";
?>
另一种方法:
echo '<select name="ItemName" onchange="ItemPrice(this)">' . $options . '</select>';
echo“”$选择";;
javascript:
<script>
function ItemPrice(d){
window.location.href='?ItemID='+d.value;
}
</script>
功能项目价格(d){
window.location.href='?ItemID='+d.value;
}
注意:请使用mysqli_*函数而不是mysql_*函数(已弃用)我可以在同一HTML页面中使用$\u REQUEST[“ItemName”]吗?这会得到结果吗?您是否添加了$ItemID=$\u get['ItemID'];然后选择清单表中的查询更新是的,我试过了,我尝试了你发布的所有方法,但不幸的是,我没有得到我想要的结果。你能打开Chrome调试工具,看看是否有Javascript错误吗?该脚本应该可以运行,但需要jQuery才能运行。echo$getPrice=“SELECT ItemPrice FROM Inventory,其中ItemID=”$ItemID';检查数据库是否有值,并使您得到的$ItemID值$getPrice为空。