在用户从数据库中填充的下拉列表中选择一个选项(在本例中为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'];
}
?>
答案 0 :(得分:0)
我不知道你得到了什么错误,我只能猜到你在用“&#39 ;;&#39;在添加变量之前。此外,没有必要&#39;#&#39;在_REQUEST变量中。
$sql = "SELECT weight_id FROM parcel_weight WHERE weight_id = '".$_REQUEST['weight']."'";
答案 1 :(得分:0)
您的结束select
和td
代码的顺序错误(为什么这里的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>