【发布时间】:2015-12-06 02:30:18
【问题描述】:
我正在使用 SQL 查询来填充 HTML 表。查询运行良好,表看起来不错。现在我想让每行第一列的内容成为超链接。最好的方法是什么?我最好的猜测是在下面的 sn-p 中并没有成功。
...
$fields_num = mysqli_num_fields($result);
echo "<thead>";
echo "<tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
$field = mysqli_fetch_field($result);
echo "<th>{$field->name}</th>";
}
echo "</tr>\n";
echo "</thead>";
// printing table rows
while($row = mysqli_fetch_row($result))
{
echo "<tr>";
// $row is array... foreach( .. ) puts every element
// of $row to $cell variable
foreach($row as $cell) {
if($cell[0]) {
echo "<td><a href="index2.php/$cell"></a></td>";
}
else
echo "<td>$cell</td>";
}
echo "</tr>\n";
....
【问题讨论】:
-
已经关闭了,只是复制粘贴的时候漏掉了。似乎我错过了更多的东西。
-
不需要
\n,如果你正在回显HTML,你没有关闭你的while循环,你为什么在条件中使用$cell[0],而只是简单地调用整个@987654324 @ 在你的回声中? -
@d_ominic 实际上,最好使用
\n。它生成干净的 HTML,而不是全部放在一行中。自己看看,看看 HTML 源代码。 -
@Fred-ii- 我明白了,我已经有一段时间没有使用 PHP 并忘记了。我假设单独的
echo行将在新行上。 -
@d_ominic 没问题。使用
\n的额外好处是,在查看 HTML 源代码时(它本身就是一个编码工具),也有助于在调试期间查看是否填充了任何内容,以及一大堆其他原因/好处;- ) 欢呼