0

我与数据库的连接成功。我现在将表中的所有数据作为数组存储在名为 $data 的 php 变量中。我试图从这个变量中提取三行并用 html 显示它们。

这是我的代码的样子(除了连接信息被删除):

    <?php 
    $data = mysql_query("SELECT * FROM specs")
    or die(mysql_error());
    while ($row = mysql_fetch_assoc($data)) {
    $rows[] = $row;
    ?>

我知道我可以通过输入这样的代码(例如)从此变量中提取单个数据并将其成功插入到 html 中:

    <table cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td>Model: <?php echo $row['name'];?></td>
      </tr>
    </table>

但我的问题是我想将数据库中的三行单独的数据显示为 html 表中的三个单独的列。(希望这是有道理的)

我已经研究了如何使用 foreach 和 while 来做到这一点,但不太确定我哪里出错了。

我希望有人能够对此有所了解,因为我已经阅读了有关 foreach 循环的内容,而我仍然卡住了!我还听说 mysql_query 已被弃用,但排除了不使用它的可能性,因为我们的网络服务器仍在使用旧版本的 php 和 mysql,并且不打算很快更新。

抱歉,如果我的帖子中没有全部内容 - 已经很晚了,我很累。提前感谢您的帮助!如果有人有问题,我会密切关注这一点。

4

2 回答 2

0

这将在表格中打印数组,每行是数组的 3 个元素。

echo "<table>";
for ($i = 0; $i < count($rows); $i += 3) {
    echo "<tr>";
    for ($j = 0; $j < 3; $j++) {
        if (isset($rows[$i+$j]) {
            echo "<td>Model: {$rows[$i+$j]['name']}</td>";
        }
    }
    echo "</tr>";
}
echo "</table>";
于 2013-10-24T03:22:22.340 回答
0

将 SQL 限制为三行更简单,然后直接回显所有传入的行,而无需先添加到数组中。那会浪费资源。

<?php 
    echo "<table>";

    $data = mysql_query("SELECT * FROM specs LIMIT 3")
      or die(mysql_error());

    while ($row = mysql_fetch_assoc($data)) 
        echo '<tr></td>', $row['name'], '</td></tr>';

    echo "</table>";
?>

啊,但现在我看到这是一个有年头的问题。我希望你在此期间学到了很多东西。

于 2014-05-26T12:48:54.510 回答