网页中普通的循环无法实现不规则调用,所以想把数据库的内容存到二维数组里,然后通过二维数组实现不规则调用。
代码:$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] 无法把所赋的值显示出来,请问代码哪里出错,怎么修改?谢谢

解决方案 »

  1.   


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

  2.   

    错误:
    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>";其它虽繁琐,但不能说“错”
      

  3.   

    $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]);
    然后就是
      

  4.   

    ls 是对的
    不过你这样不太好,
    select 1,2,3,4 from xxx
    然后循环中
    $row=mysql_fetch_row ($result);
    $rs[$i]=$row;//或者$rs[]=$row;
    就行了不要那么麻烦的
      

  5.   

    $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);