所选项目的PHP请求价格

时间:2013-11-06 21:00:44

标签: php html mysql

所以我有一个包含以下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节目的新手,不知道我做错了什么。

2 个答案:

答案 0 :(得分:0)

$getPrice = "SELECT ItemPrice FROM Inventory WHERE ItemID = '$options' ";

这就是问题所在。 $ options变量包含带有不同选项的html文本,但PHP并不了解这一点。该变量不包含用户要选择的项目的ID。

您需要将变量发送到另一个(或相同的)PHP页面。

您应该阅读本教程:enter link description here

答案 1 :(得分:0)

你能试试吗,

     <script>
        $(document).ready(function () {

            $(".Items").change(function(){

                    window.location.href='?ItemID='+$(this).val();
            });
        });

      <script>

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>';

的javascript:

     <script>
        function ItemPrice(d){
            window.location.href='?ItemID='+d.value;
        }
     </script>

注意:请使用mysqli_ *函数代替mysql_ *函数(不建议使用)