我试图创建如下内容:
但是我现在的代码给了我:
白色的部分是我用下面的代码获得的部分,黑色的部分是我在添加两个<td>
行时获得的部分。问题是我无法创建每行3个数据 - 只能垂直或水平。
$result = mysqli_query($con,"SELECT * FROM show_listing");
while($row = mysqli_fetch_array($result))
{
echo "<table>
<tr>
<td>".$row['name']."'</td>
</tr>
</table>";
}
mysqli_close($con);
它可能比我想象的要简单,但是有谁知道我怎么能做到这一点?
答案 0 :(得分:1)
$c = 0;
echo "<table>";
while($row = mysqli_fetch_array($result))
{
if ($c%3 == 0) {
if ($c) echo "</tr>";
echo "<tr>";
}
echo "<td>".$row['name']."</td>";
$c++;
}
if ($c) echo "</tr>";
echo "</table>";
答案 1 :(得分:0)
你有正确的想法。您不希望在while循环中声明,因为您将获得多个表。
所以我将表声明移到了while循环之外。我还根据当前列使声明成为条件。您现在可以将变量$ columns设置为所需的列数。
$result = mysqli_query($con,"SELECT * FROM show_listing");
echo "<table>"
$columns=3;
$current_column=1;
while($row = mysqli_fetch_array($result))
{
if($current_column==1) {
echo "<tr>";
}
echo "<td>".$row['name']."'</td>";
if($current_column==$columns) {
echo "</tr>";
$current_column=1;
} else
$current_column++;
}
echo "</table>
mysqli_close($con);