1

我有一个从我的数据库返回的多维数组,看起来像这样

   $prices = array();

    /*some SQL coding */
print_r($prices);
        Array
    (
          [0]
              [id] => 1
              [title] => XT1 Comp
              [young] => 50
              [mid] => 50
              [old] => 120
          [1]
              [id] => 2
              [title] => HH3 Enginee
              [young] => 150
              [mid] => 170
              [old] => 220
    )

到目前为止,一切都很好。但是如何最好地将其打印为动态表?我有点卡住了,任何提示都非常受欢迎

我希望有人能帮帮忙。我希望有这样的输出:

id | title     | young| mid| old
1  |  XT1 Comp | 50   | 50 | 120
and so one for each row / array index or line

亲切的问候亚历克斯

编辑->这就是我得到它们的方式。

$result_array = array();
        while($line = mysql_fetch_array($result, MYSQL_ASSOC))
            {
            $result_array[] = $line;
        }

        return $result_array
4

2 回答 2

2

使用循环:

foreach( $prices as $row ) {
    echo '|' . $row['id'] . '|' . $row['title'] . '|' . $row['young'] . '|';
    echo '|' . $row['mid'] . '|' . $row['old'] . '|';
}

它将遍历每一行并允许您访问每一列的值。

编辑:

如果您mysql_query();用于获取结果,则在使用后使用以下内容:

while( $row = mysql_fetch_assoc( $query_result ) ) {
    // Same echo stuff here
}
于 2012-04-21T18:47:36.280 回答
2

您可以使用 php foreach 输出每个项目$prices

<?php
function queryResultAsTable($results) {
    if(count($results) == 0) {
        echo '<em>No rows returned</em>';
    } else {
        echo '<table><thead><tr><th>'.implode('</th><th>', array_keys(reset($results))).'</th></tr></thead><tbody>'."\n";

        foreach($results as $result) {
            echo '<tr><td>'.implode('</td><td>', array_values($result)).'</td></tr>'."\n";
        }

        echo '</tbody></table>';
    }
}

queryResultAsTable($prices);
于 2012-04-21T18:55:15.370 回答