我有这个while循环工作正常,除了表中的最后一行我无法正确通过id。 它没有给我任何错误,但是当我将鼠标悬停在“修改”链接上时,它会显示正确的ID,并且在表格的所有html代码之后立即显示。 看起来它没有正确连接。
有代码:
while ($row = mysqli_fetch_assoc($result)){
echo "<table><tr><td>" . $row["id"] . "</td>" .
"<td>" . $row["product_name"] . "</td>" .
"<td>" . $row["visible"] .
"<td><a href=\"modify.php?id=" . $row["id"] . ">Modify</a>" .
"</td></tr></table>";
}
答案 0 :(得分:1)
您正在为每条记录使用echo
,这很好,但每次您回显一张全新的表格。你可能意味着只回显一个新行。正如其他人所说,你的href也没有正确关闭
做类似的事情:
echo '<table>';
while($row = mysqli_fetch_assoc($result)){
echo "<tr>
<td> $row[id] </td>
<td> $row[product_name] </td>
<td> $row[visible] </td>
<td><a href='modify.php?id=$row[id]'>Modify</a></td>
</tr>";
}
echo '</table>';
请注意,因为您正在编写HTML,所以您不需要连接多个字符串。您可以拥有一个长多行字符串。即使您的字符串中有换行符,浏览器也会正常呈现表格。此外,PHP可以解析双引号字符串并为其字符串值替换变量,因此您不需要执行"<td>" . $row["id"]
;这很好用:"<td>$row[id]"
答案 1 :(得分:0)
您似乎错过了"
而未关闭href
。下面我通过添加缺少的"
修复了它。另外,我换掉了单引号的大多数双引号。这是我的偏好,因为它使阅读更容易;我怀疑你在识别缺失的引用时遇到了麻烦,因为只使用了双打。
while ($row = mysqli_fetch_assoc($result)){
echo '<table><tr><td>' . $row["id"] . '</td>' .
'<td>' . $row["product_name"] . '</td>' .
'<td>' . $row["visible"] .
'<td><a href="modify.php?id=' . $row["id"] . '">Modify</a>' .
'</td></tr></table>';
}
答案 2 :(得分:0)
您似乎忘记关闭while循环中的url
属性。
另外,正如其他答案所指出的那样,每次运行此循环时,您都使用href
来打印新表,这可能会导致一些奇怪的结果。
下面是一个示例,您可以将所有内容追加到字符串名称echo | print
,并在完成循环后将其打印出来:
$table