使用mysqli代码,我已经能够使用mysql数据库中的数据创建一个下拉框。 sql语句从数据库中选择userId,f_Name和l_Name。此列表是表单的一部分,当用户选择名称时,我想通过$ _Post方法仅传递userId。怎么办?再次感谢你的帮助。
<select name="names">
<option value = "">---Select---</option>
<?php
$queryusers = 'SELECT userID, f_Name, l_Name FROM users';
$db = mysqli_query($mysqli, $queryusers);
while ( $names=mysqli_fetch_assoc($db)) {
echo "<option value='{".$names['f_Name']."}' .
{".$names['l_Name']."}'>".$names['f_Name']. " " .
$names['l_Name']."</option>";
}
?>
</select>
答案 0 :(得分:0)
做这样的事情:
echo '<option value="'.$names['userID'].'" >'.$names['f_Name'].' '. $names['last_nm'] . '</option>';
成为选项的值,即提交的内容。
修改强>
这是您使用此
的代码<select name="names">
<option value = "">---Select---</option>
<?php
$queryusers = 'SELECT userID, f_Name, l_Name FROM users';
$db = mysqli_query($mysqli, $queryusers);
while ( $names=mysqli_fetch_assoc($db)) {
echo '<option value="'.$names['userID'].
'" >'.$names['f_Name'].' '. $names['last_nm'] . '</option>';
}
?>
</select>
显示mysqli预备语句示例的另一个编辑
假设您将这些相同的值插入表中,您只需这样做:
你的mysqli连接会是这样的:
$conn = new mysqli($host, $username, $password, $dbname)
然后你就像这样插入(假设userID是一个自动增量键)
$stmt = $dbc->prepare("insert into users (userID, f_name, L_name)
values (NULL, ?, ?)");
$stmt->bind_param("ss", $names['f_name'],$names['l_name'])
$stmt->execute();
$stmt->close();
"ss"
只意味着两个变量都是字符串;如果它们是整数,则您使用i
。如果您正在进行更新,则只需将您在插入中使用的任何变量替换为?
个占位符。它的工作方式相同。