我有一个从数据库内的数据生成的表。表的每一行都是我数据库的一行。在每一行的末尾,我创建一个链接以开始从表和数据库中删除数据的过程。这是我的代码片段:if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<tr>"; echo "<th>".$row["username"]."</th>"; $user = $row["username"]; echo "<th>".$row["name"]."</th>"; $name = $row["name"]; echo "<th><a href='./test.php'.urlencode($user)>Remove</a></th>"; echo "</tr>"; }}如您所见,单击链接后,我想test.php使用已设置的变量(及其该行的值)运行。我试图这样做,urlencode但是在执行 a 时echo $user,它返回为未定义的变量。我也试过了echo "<th><a href='./test.php?link='$user>Remove</a></th>";。我希望能够发送最多 6 个带值的变量。编辑 1: 这是我表中一行的图片:前两列是用户名和名称。您可以看到这些值已设置并显示在while循环中。我希望循环的每次迭代都创建一个唯一链接以从数据库中删除该行。或者只是在这种情况下,单击链接时发送该行的数据值。
2 回答
慕容708150
TA贡献1831条经验 获得超4个赞
您可以使用http_build_query功能:
$qs = [
'user' => $row["username"],
'name' => $row["name"],
// ... 4 more values
];
echo '<th><a href="test.php?' . http_build_query($qs, null, '&', PHP_QUERY_RFC3986) . '">Remove</a></th>';
守着一只汪
TA贡献1872条经验 获得超3个赞
您没有在链接中定义变量名称。线
echo "<th><a href='./test.php'.urldecode($user)>Remove</a></th>";
应该看起来像
echo "<th><a href='./test.php?user=".urlencode($user)."&name=".urlencode($name)."'>Remove</a></th>";
然后,在您的 test.php 文件中,您将使用$_GET['user']
和读取这些变量$_GET['name']
。
另外,请注意,在您的原始代码中,您使用的urldecode
是urlencode
- 2 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消