我的数据库中有一个返回的多维数组,看起来像这样
$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
答案 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);