数据库的内容读到二维数组出错,哪位大侠能帮忙下

ykhads 2010-05-28 07:41:33
网页中普通的循环无法实现不规则调用,所以想把数据库的内容存到二维数组里,然后通过二维数组实现不规则调用。
代码:

$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]

无法把所赋的值显示出来,请问代码哪里出错,怎么修改?谢谢
...全文
46 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abin-2008 2010-05-28
  • 打赏
  • 举报
回复
$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();
while($rows=mysql_fetch_array($result))
{
$rs[]=$rows;
}
print_r($rs);
jlzan1314 2010-05-28
  • 打赏
  • 举报
回复
ls 是对的
不过你这样不太好,
select 1,2,3,4 from xxx
然后循环中
$row=mysql_fetch_row ($result);
$rs[$i]=$row;//或者$rs[]=$row;
就行了不要那么麻烦的
HOOLOO 2010-05-28
  • 打赏
  • 举报
回复
说一下你的数据是什么样的。
Dleno 2010-05-28
  • 打赏
  • 举报
回复
$rs=array($i=>array ($row[0], $row[1],$row[2],$row[3],$row[4]));

改为:
$rs[$i]=array ($row[0], $row[1],$row[2],$row[3],$row[4]);


然后就是
[Quote=引用 2 楼 xuzuning 的回复:]
错误:
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>";

其它虽繁琐,但不能说“错”
[/Quote]
xuzuning 2010-05-28
  • 打赏
  • 举报
回复
错误:
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>";

其它虽繁琐,但不能说“错”
amani11 2010-05-28
  • 打赏
  • 举报
回复

//这句有问题
$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;

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧