Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
所选项目的PHP请求价格_Php_Html_Mysql - Fatal编程技术网

所选项目的PHP请求价格

所选项目的PHP请求价格,php,html,mysql,Php,Html,Mysql,因此,我有一个表,其中包含以下ItemID、ItemName和ItemPrice。我有一个下拉菜单,根据数据库中的ItemID列出项目的名称。现在我想根据用户从下拉菜单中选择的内容显示该商品的价格 以下是我尝试过的: <?php include ("account.php"); include ("connect.php"); $query = "SELECT * FROM Inventory

因此,我有一个表,其中包含以下ItemID、ItemName和ItemPrice。我有一个下拉菜单,根据数据库中的ItemID列出项目的名称。现在我想根据用户从下拉菜单中选择的内容显示该商品的价格

以下是我尝试过的:

<?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为空。