我想从数据库中获取字段,例如。 “name”然后将其用作链接以从数据库本身显示有关该名称的更多信息 我用过 -
while($re=mysql_fetch_array($result))
{
echo"<a href=\"test.php?id=1\">{$re["name"]}'</a>'";
}
但是我希望从数据库中提取的每个'name'条目都被指定为不同的id- adam id = 1 chris id = 2 所以在下一页我可以获取该ID并相应地显示内容。 请帮忙。
答案 0 :(得分:1)
while ($row = mysql_fetch_assoc($result)) {
echo "<a href=\"test.php?id={$row['id']}\">".htmlspecialchars($row['name'])."</a>\n";
}
假设您在数据库中有一个id
列,您只需在SELECT
查询的结果中包含该字段,并将其与现有代码一起回显。
您的数据库中应该有一个自动递增的主键,您将在下一页的SELECT
查询中使用该主键,您需要做的就是将其用作id
。< / p>
如果您没有数字主键,请添加一个。如果由于某种原因你不能,请使用name
字段作为id
,然后选择该字段。
几个旁注:
name
字段以确保不要使用用户条目中断输出。mysql_fetch_array()
- 这是99%的时间做正确的事情。</a>
周围有额外的单引号 - 我已在上面的例子中删除了它们。答案 1 :(得分:0)
使用名称本身作为id更容易,然后在下一页上使用名称作为数据库查询WHERE
子句。由于数据库不知道整数id,因此无法轻易将其与名称匹配。
while($re=mysql_fetch_array($result))
{
$name = $rs['name'];
echo"<a href='test.php?name='" . urlencode($name) . "'>" . htmlentities($name) . "</a>";
}
在你的另一页......
$name = urldecode($_GET['name']);
$name = mysql_real_escape_string($name);
$result = mysql_query("SELECT * FROM table WHERE name='$name');
当然,这假定您的名字是唯一的。
答案 2 :(得分:0)
编辑当前示例以保持这样的计数:
$id = 0;
while($re=mysql_fetch_array($result)) {
$id++;
echo"<a href=\"test.php?id={$id}\">{$re["name"]}'</a>'";
}