从下拉列表中获取我的数据库中的用户选择

时间:2018-06-15 14:39:04

标签: javascript php ajax

在用户从数据库中填充的下拉列表中选择一个选项(在本例中为WEIGHT)后,我需要帮助才能从我的数据库中选择特定用户。我尝试过以下但无济于事。

到目前为止我的代码:

<td><select class="weight" name="weight" id="weight">
        <option>Weight of parcel</option>
        <?php
        $res = mysqli_query($conn, "SELECT * FROM parcel_weight");
        while ($row = mysqli_fetch_array($res)) {
            ?>
            <option><?php echo $row["weight"]; ?></option>
        <?php } ?>

</td>
</select>

<div id="submitBtn">
    <input type="submit" name="submit_btn" id="submit_btn" 
           value="Submit"></input>
</div>  
<?php
if (isset($_POST['#submit_btn'])) {
    $sql = "SELECT weight_id FROM parcel_weight WHERE weight_id =;"
            . $_REQUEST['#weight'];
    $result = mysqli_query($conn, $sql);
    $resultCheck = mysqli_num_rows($result);
    $row = mysqli_fetch_assoc($result);
    echo $row['weight_id'];
}
?>  

3 个答案:

答案 0 :(得分:0)

我不知道你得到了什么错误,我只能猜到你在用“&#39 ;;&#39;在添加变量之前。此外,没有必要&#39;#&#39;在_REQUEST变量中。

$sql = "SELECT weight_id FROM parcel_weight WHERE weight_id = '".$_REQUEST['weight']."'";

答案 1 :(得分:0)

您的结束selecttd代码的顺序错误(为什么这里的td代码不在表格中?),关闭select然后{ {1}},您也可以为每个td添加一个值。

此外,您的option和提交select需要位于此脚本的表单中,才能按照您的意图运行。看看以下内容:

input

我强烈推荐使用预处理语句,因为您的代码容易受到SQL注入攻击

答案 2 :(得分:0)

首先,您必须使用html表单标签来获取有效表单。有了这个,您需要一个action属性来定义表单的去向,以及一个方法[GET]或[POST]

了解更多信息:https://www.w3schools.com/html/html_forms.asp

<form action="#" method="GET">
 <select class="weight" name="weight" id="weight">
 </select>
 <input type="submit" name="submit_btn" id="submit_btn" value="Submit"></input>
</form>

要捕获您的选择,您必须检查$ _POST,$ _GET,$ _REQUEST,具体取决于您在方法属性中选择的那个。

在您的情况下,您需要删除名称前面的#:

if (isset($_POST['#weight']))

是:

if (isset($_POST['weight'])) {}

要完成,您必须在select:

中为earch选项添加值
<option value="<?php echo $row["weight"]; ?>"><?php echo $row["weight"]; ?></option>