-3

我正在尝试通过 PHP 创建一个表格,但是当我加载它时,它会像这样显示它..

打印屏幕

编码:

<table border="1" cellpadding="5">
<?php
while($test= mysql_fetch_assoc($countquery)){
        echo '<tr><td>';
    echo $test["count"];
    echo 'x</td>';
};
while($row=mysql_fetch_array($topresult)) {
    echo '<td width="150">';
    echo $row["productnaam"];
    echo '</td><td width="100" style="text-align:center;">&euro; ';
    echo $row["prijs"];
    echo '</td><td width="50" style="text-align:center;">';
    echo '<a style="text-decoration:none;color:red;" href="#"><img width="25" src="trash.png"></a>';
    echo '</td></tr>';
};
?>
</table>

我的目标是显示一个 4 列 3 行的表格。

编辑: 已经找到它,<tr>每次执行第一个标签时都会创建一个新标签while

4

2 回答 2

0

您正在回显嵌套行。

while($test= mysql_fetch_assoc($countquery)){
    echo '<tr><td>';// Here you open a row
echo $test["count"];
echo 'x</td>';//No closing of row, you close the td and open another tr on the next iteration
};
于 2012-10-14T12:21:57.907 回答
0

块:

while($test= mysql_fetch_assoc($countquery)){
        echo '<tr><td>';
    echo $test["count"];
    echo 'x</td>';
};

将首先创建 3 个单元格 1x、1x、2x,然后是块:

 while($row=mysql_fetch_array($topresult)) {
    echo '<td width="150">';
    echo $row["productnaam"];
    echo '</td><td width="100" style="text-align:center;">&euro; ';
    echo $row["prijs"];
    echo '</td><td width="50" style="text-align:center;">';
    echo '<a style="text-decoration:none;color:red;" href="#"><img width="25" src="trash.png"></a>';
    echo '</td></tr>';
};

将从监视器创建单元格,因此结果变成这样。要修复它,您应该将第一个while循环的结果保存到一个数组并在第二个while循环中执行

于 2012-10-14T12:22:58.943 回答