不懂php的程序
看下下面的怎么循环不了呀,只能读出第一个数据。求大家帮忙看下能给出正确写法最好,小女子先谢谢了~
<?php
$conn = mysql_connect ( "localhost", "root", "123456" );
    mysql_select_db ( "test" ,$conn);
    mysql_query ( "set names gbk" );
$sql = "select * from san_supplier;";
$rs = mysql_query ( $sql );$num = $_GET["num"];
$page = $_GET["page"];
$data = array();
     while ( $arr = mysql_fetch_array ( $rs ) )
if($page < 11){
for($i=0;$i<$num;$i++)
{
         $pNum=rand(1,44);
$data[$i]["img"] = "/youhuiquan/".$arr ["preview"]."";
$data[$i]["height"] = 0; 
$data[$i]["title"] = "时间:".date("Y-m-d H:i:s")."<br />".($i+1)."、WindsWaterFlow(第".$page."页)";
}
}
echo json_encode($data);
   mysql_free_result ( $rs );
       mysql_close ( $conn );
?>

解决方案 »

  1.   

    var_dump( $_GET); 你需要确定 $_GET["num"]是否大于等于1
      

  2.   

    ls说的那样,并且你这个要isset判断下
      

  3.   

    $data[$i]
    这个一直在被覆盖
      

  4.   

    为什么不用foreach循环呢?求LZ指导。
      

  5.   

    对于while循环中的每个$arr,$data一直被后一条记录覆盖,你根本没有变量来控制while循环,楼主$i变量控制的是那一层循环?如果对于每个$arr都有$data[0],$data[$i-1]的赋值,那就要在你的$data数组再加一层$j,以控制while循环中的值,如果变量$i控制与$arr相对应,那就要把你的for循环和while循环合并起来