我有一个SQL表(儿童):
ID | Name
----------------
I03 | Lucy
I05 | Jade
I06 | Jason
我正在尝试在PHP中创建一个只显示每行名称的表,因此该表只有一列。 我希望每个名称都有一个指向此页面的超链接:http://localhost/Child_Stats.php?(x)
'x'必须是子ID。
所以,例如点击Lucy时,超链接是:http://localhost/Child_Stats.php?'I03'。
到目前为止,这是我的代码:
$c = mysql_connect("localhost", "root", "password");
if (!$conn) {
die("Unable to connect: ". mysql_error());
}
mysql_select_db("table", $conn);
$query = "SELECT * FROM Children";
$data = mysql_query($query, $conn);
echo "<table border = 1>
<tr>
<th>Child</th>
</tr>";
while($record = mysql_fetch_array($data)){
echo "<tr>";
echo "<td><a href='http://localhost/Child_Stats.php?'".$record['ID']."''>".$record['Name']."</a> </td>";
echo "</tr>";
}
echo "</table>";
mysql_close($conn); //close connection
我的代码不起作用,因为我选择了哪个子项,在表格中,超链接总是“http://localhost/Child_Stats.php?”。每个特定孩子的ID都不会附加到它上面。
答案 0 :(得分:3)
查看href属性 - 你在“?”之后放置了关闭的星号。在URL中。如果你查看你的HTML源代码,你会看到在星号后面附加了ID。删除此星号,以及ID之后的两个之一:
echo "<td><a href='http://localhost/Child_Stats.php?".$record['ID']."'>".$record['Name']."</a> </td>";
编辑:正如@DocRattie在评论中所说,您应该将查询字符串更改为具有名称,例如:
...?childid=".$record["ID"]."...