如何根据从下拉列表中选择的值显示数据库信息

时间:2017-06-09 23:10:29

标签: php html mysql mysqli

我已根据我的数据库信息成功创建了一个下拉列表。我想要做的是当我从下拉列表中选择选项时,在单独的页面上显示选项的信息。

这是我的工作连接和下拉列表代码:

`

if(isset($_SESSION['username'])){
    echo "user: " . $_SESSION['username'];
    $stmt = $conn->prepare('select * from Products');
    $stmt->execute();

    $results = $stmt->fetchAll();



    if($results){

        echo "<select name='products'>";
        echo "<option value= '' selected='selected'> Please Select Product </option>";
        foreach($results as $row){
    echo "Product: " . $row['ProductName'] . " </br>";
        echo "<option value= " . $row['ProductID'] ." > " . $row['ProductName'] . " </option>";
    }  
    echo "</select>";
        $prodID = $IDInfo["ProductID"];
        $prodName = $NameInfo["ProductName"];
    }

`

这是我的editProd.php页面,我想根据所选的选项显示数据库信息。

 if(isset($_POST['edit']))
        {
            $prod = $_POST['products'];
            echo "This is the value selected : " . $prod . "<br>";
            $stmt = $conn->prepare('select * from Products');
            $stmt->execute();

            $results = $stmt->fetchAll();



            foreach($results as $row){

               if($row[""] = $prod)                
                {
                    echo "<br> " . $row['ProductID'] . " " . $row['ProductName'] . "<br>"; 
                } 

                else 
                {
                    echo "Invalid Selection";
                }

            } // end of the foreach loop



        }

我的结果如下:

这是允许您编辑产品的表单

这是选择的值:2

2三星

1 dell

...理想情况下,我希望“2 Samsung”成为本案例中显示的唯一信息。如果选择的值是1,我希望显示为“1 dell”

提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

您需要使用WHERE条件并绑定参数,例如:

$stmt = $conn->prepare('select * from Products WHERE id = ?');
$stmt->bind_param("i", $prod);
$stmt->execute();

这将仅返回所选产品的详细信息。