PHP基础数据库链接帮助

时间:2011-08-31 13:45:47

标签: php hyperlink

我想从数据库中获取字段,例如。 “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并相应地显示内容。 请帮忙。

3 个答案:

答案 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,然后选择该字段。

几个旁注:

  • 请确保您使用htmlspecialchars()转义name字段以确保不要使用用户条目中断输出。
  • 使用mysql_fetch_assoc()代替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>'";
}