php动态表显示

时间:2012-04-21 18:43:58

标签: php multidimensional-array phpmyadmin dynamic-data

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

   $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

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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);