我尝试将ID与用户和管理员相关联,管理员可以在管理员登录时搜索用户。
搜索功能有效,并显示正确的内容。
但是,当管理员要连接用户时,只有管理员的ID存储在数据库中,不会从表单中检索用户的ID。
有什么建议吗?
$seartch=$_POST["seartch"];
$sql = "SELECT * FROM `user` WHERE `u_fName` LIKE '%$seartch%' OR u_lName LIKE '%$seartch%' ";
$result = mysqli_query($conn, $sql) or die ("error.");
$queryResults = mysqli_num_rows($result);
if ($queryResults == 0) {
print("<br> no seartch");
} else {
for ($i=1; $i <=$queryResults; $i++) {
$row=mysqli_fetch_array($result);
$uidU = $row["u_id"];
$first=$row["u_fName"];
$last=$row["u_lName"];
echo "<form method='POST' action='' role='form'>
<tbody>
<tr>
<br>
<td name='id' id='id' value='$uidU'> $first $last
<button type='submit' class='btn btn-outline-success' name='registrate'>add</button>
</td>
</tr>
</form>";
}
}
}
if (isset($_POST['registrate'])) {
$uidU=$_POST["id"];
$sql = "INSERT INTO `connection` (`u_id`, `admin_id`) VALUES ('$uidU', '$uidAdm');";
$result = mysqli_query ($conn, $sql) or die ("error");
print("<br> saved");
exit();
}
答案 0 :(得分:-1)
第一个问题 - 您的HTML无效,没有理由在循环中创建表单的多个实例,因此在WHILE循环中,您需要删除标记并将其替换为循环。
第二个问题 - 您正在使用与表相关的标签,但实际上并未创建表格。所以我已经从WHILE循环中删除了它。
因为您错误地使用了<td>
标记。 <td>
没有值参数,而<input>
则没有。请尝试以下方法:
echo "$first $last
<button type='submit' class='btn btn-outline-success' name='registrate'>add</button>
<input type='hidden' name='id' value='$uidU'>";
这使用隐藏输入将值传递给您的逻辑。