网页中普通的循环无法实现不规则调用,所以想把数据库的内容存到二维数组里,然后通过二维数组实现不规则调用。
代码:$sql = "SELECT * FROM cdb_posts order by pid desc limit 0,5";
$result=mysql_query($sql);
if (!$result){die("读取数据库错误,请重试");}
echo"<br><br><table>";$rs=array(); for($i=0;$i<=4;$i++) {
$row=mysql_fetch_array($result);
$rs=array($i=>array ($row[0], $row[1],$row[2],$row[3],$row[4]));/*
二维数组还用了这两种赋值方法,结果都是一样无法赋值
$rs[$i][0]=$row[0];
$rs[$i][1]=$row[1];
$rs[$i][2]=$row[2];
$rs[$i][3]=$row[3];
$rs[$i][4]=$row[4]; $rs=array($i=>array(0=>$row[0],1=>$row[1],2=>$row[2],3=>$row[3],4=>$row[4]));
*/
}
echo"<tr><td>$rs[0][0]$rs[0][1]$rs[0][2]$rs[0][3]$rs[0][4]</td></tr>";
echo"<tr><td>$rs[1][0]$rs[1][1]$rs[1][2]$rs[1][3]$rs[1][4]</td></tr>";
echo"<tr><td>$rs[2][0]$rs[2][1]$rs[2][2]$rs[2][3]$rs[2][4]</td></tr>";
echo"<tr><td>$rs[3][0]$rs[3][1]$rs[3][2]$rs[3][3]$rs[3][4]</td></tr>";
echo"<tr><td>$rs[4][0]$rs[4][1]$rs[4][2]$rs[4][3]$rs[4][4]</td></tr>";
echo"</table>";网页最终的显示结果是:[0][1][2][3][4]
[0][1][2][3][4]
[0][1][2][3][4]
[0][1][2][3][4]
Array[0]Array[1]Array[2]Array[3]Array[4] 无法把所赋的值显示出来,请问代码哪里出错,怎么修改?谢谢
代码:$sql = "SELECT * FROM cdb_posts order by pid desc limit 0,5";
$result=mysql_query($sql);
if (!$result){die("读取数据库错误,请重试");}
echo"<br><br><table>";$rs=array(); for($i=0;$i<=4;$i++) {
$row=mysql_fetch_array($result);
$rs=array($i=>array ($row[0], $row[1],$row[2],$row[3],$row[4]));/*
二维数组还用了这两种赋值方法,结果都是一样无法赋值
$rs[$i][0]=$row[0];
$rs[$i][1]=$row[1];
$rs[$i][2]=$row[2];
$rs[$i][3]=$row[3];
$rs[$i][4]=$row[4]; $rs=array($i=>array(0=>$row[0],1=>$row[1],2=>$row[2],3=>$row[3],4=>$row[4]));
*/
}
echo"<tr><td>$rs[0][0]$rs[0][1]$rs[0][2]$rs[0][3]$rs[0][4]</td></tr>";
echo"<tr><td>$rs[1][0]$rs[1][1]$rs[1][2]$rs[1][3]$rs[1][4]</td></tr>";
echo"<tr><td>$rs[2][0]$rs[2][1]$rs[2][2]$rs[2][3]$rs[2][4]</td></tr>";
echo"<tr><td>$rs[3][0]$rs[3][1]$rs[3][2]$rs[3][3]$rs[3][4]</td></tr>";
echo"<tr><td>$rs[4][0]$rs[4][1]$rs[4][2]$rs[4][3]$rs[4][4]</td></tr>";
echo"</table>";网页最终的显示结果是:[0][1][2][3][4]
[0][1][2][3][4]
[0][1][2][3][4]
[0][1][2][3][4]
Array[0]Array[1]Array[2]Array[3]Array[4] 无法把所赋的值显示出来,请问代码哪里出错,怎么修改?谢谢
//这句有问题
$rs=array($i=>array ($row[0], $row[1],$row[2],$row[3],$row[4]));
//按你的要求,改成array_merge或者
$rs[]=array($i=>array ($row[0], $row[1],$row[2],$row[3],$row[4]));
//后面的打印结果么,你这样子就知道该怎么改了
print_r($rs);exit;
echo"<tr><td>$rs[0][0]$rs[0][1]$rs[0][2]$rs[0][3]$rs[0][4]</td></tr>";
正确:
echo"<tr><td>{$rs[0][0]}{$rs[0][1]}{$rs[0][2]}{$rs[0][3]}{$rs[0][4]}</td></tr>";其它虽繁琐,但不能说“错”
$rs[$i]=array ($row[0], $row[1],$row[2],$row[3],$row[4]);
然后就是
不过你这样不太好,
select 1,2,3,4 from xxx
然后循环中
$row=mysql_fetch_row ($result);
$rs[$i]=$row;//或者$rs[]=$row;
就行了不要那么麻烦的
$result=mysql_query($sql);
if (!$result){die("读取数据库错误,请重试");}
echo"<br><br><table>";$rs=array();
while($rows=mysql_fetch_array($result))
{
$rs[]=$rows;
}
print_r($rs);