使用PHP和mySQL难以显示2D数组

时间:2012-09-09 04:27:26

标签: php mysql arrays

一直在研究这个。我放弃。我正在尝试从MySQL表中填充数组后创建一个数组。

然后我想在表格的顶部输出数组文本元素(表格标题)

$sqlRotations="SELECT id, rotationName FROM sched_rotations";
$resultRotations=mysql_query($sqlRotations);
$arrayRotations = array();
while($row_Rotation=mysql_fetch_assoc($resultRotations)){ 
  $arrayRotations[]=$row_Rotation;
} 

...然后我试图将“rotationName”打印为表格列标题:

<table>
<tr>
<?
foreach( $arrayRotations as $key => $value){
echo "<td>Id: $key, Rotation:". $arrayRotations[$value]." </td>";
}
?>
</tr>

不幸的是,这给了我以下输出&lt; t d>格式:

Id:0,旋转:Id:1,旋转:Id:2,旋转:Id:3,旋转:Id:4,旋转:Id:5,旋转:Id:6,旋转:Id:7,旋转:Id:8,旋转:Id:9,旋转:Id:10,旋转:


此外,如果我将for键值echo更改为:

foreach( $arrayRotations as $key => $value){
echo "<td>Id: $key, Rotation:". $value." </td>";

}

然后我得到了这个输出:

Id:0,Rotation:Array Id:1,Rotation:Array Id:2,Rotation:Array Id:3,Rotation:Array Id:4,Rotation:Array Id:5,Rotation:Array Id:6,Rotation :Array Id:7,Rotation:Array Id:8,Rotation:Array Id:9,Rotation:Array Id:10,Rotation:Array

2 个答案:

答案 0 :(得分:2)

您正在错误地使用foreach()数组。

<?php
foreach($arrayRotations as $line){
   echo "<td>Id: " . $line['id'] . ' Rotation: '. $line['rotationName'] . '</td>';
}
?>

答案 1 :(得分:1)

这是你在找什么?

<table>
<tr>
<th>Id</th>
<th>Rotation</th>
</tr>
<?php 
foreach($arrayRotations as $rotation)
{
   printf("<tr><td>%s</td> <td>%s</td></tr>", $rotation['id'], $rotation['rotationName');
}
?>
</table>