【问题标题】:How to display database information based on value selected from dropdown list如何根据从下拉列表中选择的值显示数据库信息
【发布时间】:2017-06-09 23:10:29
【问题描述】:

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

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

`

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 戴尔

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

提前谢谢大家。

【问题讨论】:

  • 将 ` if($row[""] = $prod) ` 替换为 ` if($row["ProductID"] == $prod) ` 或使用 Darshan 提供的更好的选项。跨度>
  • 谢谢,这很有帮助。

标签: php html mysql mysqli


【解决方案1】:

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

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

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

【讨论】:

  • 我包含了您的更改,但现在我根本没有得到任何结果。也许它与绑定有关?
  • 也许您传递的是产品名称而不是 id?在这种情况下,您需要按名称搜索或传递 id..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2014-02-26
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多