我希望结果显示如下......
title 1 | title 2 | title 3 | title 4 |
Title 5 | title 6 | title 7 | title 8 |
但由于某些原因,当代码运行时,它显示如下......
t | i |
它为表格的每个单元格拼出标题1而不是整个单词。 我做错了什么?
$result = mysqli_query($con,"SELECT title FROM donuts");
$rows = 2;
$cols = ceil(count($result)/$rows);
$row = mysqli_fetch_array($result);
echo $result=$row['title'];
echo "<table border='1'>";
$i=0;
for($tr=1;$tr<=$rows;$tr++) {
echo "<tr>";
for($td=1;$td<=$cols;$td++) {
if (isset($result[$i])) {
echo "<td>".$result[$i]."</td>"; $i++;
}
}
echo "</tr>";
}
echo "</table>";
请注意,该表对行数的列数没有限制。
答案 0 :(得分:2)
你必须遍历结果。像这样:
// $numrows = mysqli_num_rows($result); // Count rows if you want to know
while( $row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) { // Loop through rows
echo "<tr>";
foreach($row as $key => $value) { // Loop through columns
echo "<td>" . $value . "</td>";
}
echo "</tr>";
}
此时你循环遍历列的每个字符。
答案 1 :(得分:0)
你可能想这样试试:
$result = mysqli_query($con, "SELECT title FROM donuts");
echo '<table>';
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo '<tr>';
foreach ($row as $cell)
{
echo '<td>' . $cell . '</td>';
}
echo '</tr>';
}
echo '</table>';
答案 2 :(得分:0)
这是你的问题:
echo $result=$row['title'];
然后使用代码循环显示:
$i=0; for($tr=1;$tr<=$rows;$tr++)
{ echo "<tr>";
for($td=1;$td<=$cols;$td++)
{
if (isset($result[$i])) {
**echo "<td>".$result[$i]."</td>"; $i++;**
因此,您循环输出该字符串中每个字符的字符串。