php动态表显示
我从数据库返回了一个多维数组,看起来像这样php动态表显示,php,multidimensional-array,phpmyadmin,dynamic-data,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
$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
使用循环:
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
}
使用循环:
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
}
您可以使用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);
您可以使用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);
那就行了吗?对于每个“数组名”作为行。所以我假设$row=array index/line及其所有值。因此,一旦它达到“旧”的值,例如$行结束,如果存在新行,则开始新行!确切地它在每一行中循环。一旦完成最后一个循环,它就会退出循环。然后,thx人。不知道为什么我会被卡在那个上面;p传奇!那就行了吗?对于每个“数组名”作为行。所以我假设$row=array index/line及其所有值。因此,一旦它达到“旧”的值,例如$行结束,如果存在新行,则开始新行!确切地它在每一行中循环。一旦完成最后一个循环,它就会退出循环。然后,thx人。不知道为什么我会被卡在那个上面;p传奇!这个小小的好功能让我改变了我接受谁。很遗憾我不能给你们两个同样的信用。如何编辑此函数,使每一行的每个值都位于可编辑的输入字段中???那太棒了@AlexanderGross使用Javascript是可能的。这称为“就地编辑”,您可能希望使用JQuery之类的JS库来完成繁重的工作。还有很多即插即用的插件,就像已经提供的一样。这个小小的好功能让我改变了我接受谁。很遗憾我不能给你们两个同样的信用。如何编辑此函数,使每一行的每个值都位于可编辑的输入字段中???那太棒了@AlexanderGross使用Javascript是可能的。这称为“就地编辑”,您可能希望使用JQuery之类的JS库来完成繁重的工作。还有很多即插即用的就地扩展,像已经提供的一样。