我有一个数据库加载了不同的教堂信息,我试图将数据库中的所有信息插入到3行的PHP表中。
我希望每个单元格的结构为:
Church Name
Image
Pastor Name
我可以轻松地将所有数据插入到表格中,但我无法将其显示为3行。
echo("<table>");
while($row = mysql_fetch_array($rs))
{
echo("<tr>");
echo("<td>");
echo("<a href='" . $row['website'] . "'>" . $row['churchName'] . "</a><br>");
echo("<img src=\"" . $row['image'] . "\"><br>");
echo($row['pastorName'] . "<br><br>");
echo("</td>");
echo("<td>");
echo("<a href='" . $row['website'] . "'>" . $row['churchName'] . "</a><br>");
echo("<img src=\"" . $row['image'] . "\"><br>");
echo($row['pastorName'] . "<br><br>");
echo("</td>");echo("<td>");
echo("<a href='" . $row['website'] . "'>" . $row['churchName'] . "</a><br>");
echo("<img src=\"" . $row['image'] . "\"><br>");
echo($row['pastorName'] . "<br><br>");
echo("</td>");
echo("</tr>");
}
echo("</table>");
这样做会导致我有3行正确的结构,但有重复的数据。我知道我没有改变身份证,但我不确定应该做什么
答案 0 :(得分:2)
您正在重复该行上的数据。如果要每行显示3个项目,则需要添加计数器和语句来绘制表格行中断,如下所示:
$int_Col = 1;
echo("<table>");
while($row = mysql_fetch_array($rs))
{
if ($int_Col == 1) {
echo("<tr>");
}
echo("<td>");
echo("<a href='" . $row['website'] . "'>" . $row['churchName'] . "</a><br>");
echo("<img src=\"" . $row['image'] . "\"><br>");
echo($row['pastorName'] . "<br><br>");
echo("</td>");
if ($int_Col == 3) {
echo("</tr>");
$int_Col = 1;
} else {
$int_Col++;
}
}
if ($int_Col > 1) {
echo("<td colspan='". (3 - $int_Col) ."'> </td></tr>");
}
echo("</table>");
最后一次检查($ int_Col&gt; 1)应确保使用空单元格正确呈现表格 - 应该跨越未在当前行上绘制的正确数量的单元格。
答案 1 :(得分:2)
请注意,我认为这里有两个“行”的定义。
我相信你是在将3个MySQL表行放到一个HTML表行之后。
使用以下命令每隔3个MySQL行拆分HTML行:
$i = 0;
while($row = mysql_fetch_array($rs))
{
// whatever you're already doing(ish)
$i++;
if($i % 3 == 0)
{
echo('</tr><tr>');
}
}
如果MySQL行的总数没有精确地除以3,您需要进行一些额外的检查,因为在这种情况下,您将有一个或两个空单元格填充在结尾处。表
答案 2 :(得分:0)
如果我的代码正确,则为数据库中的每一行创建3行。 mysq_fetch将为每一行运行循环,因此循环的正确内容将是:
echo("<tr>");
echo("<td>");
echo("<a href='" . $row['website'] . "'>" . $row['churchName'] . "</a><br>");
echo("<img src=\"" . $row['image'] . "\"><br>");
echo($row['pastorName'] . "<br><br>");
echo("</td>");
echo("</tr>");