if($a=mysql_num_rows($q)){
   while($ret=mysql_fetch_array($q)){
这里不知道写什么 }
}显示页面用print_r,结果只显示第一条记录 Array ( [0] => 1 [id] => 1 [1] => 哈哈 [name] => 哈哈 ) 
如何让所有记录都显示出来 用echo 这样:
1  哈哈
2  nj
3  dkfl 
4  eirj 

解决方案 »

  1.   

    if($a=mysql_num_rows($q)){
      while($ret=mysql_fetch_array($q)){
        //这里不知道写什么
        echo $ret['name'].'<br />';}
    }
      

  2.   

    if($a=mysql_num_rows($q)){
        while($ret=mysql_fetch_array($q)){
            echo $ret['id'].'<br/>';
            echo $ret['name'].'<br/>';
        }
    }
      

  3.   

    拼接$ret['id']和$ret['name'],然后return拼接后的字符串
      

  4.   

    if($a=mysql_num_rows($q)){
      while($ret=mysql_fetch_array($q)){
      //这里不知道写什么
        $t[] = $ret;
      }
      return $t;
    }
      

  5.   

    为什么在$t[] = $ret;之前写  $t=array();就只输出最后一条呢?
      

  6.   

    $t=array();是初始化$t为一个空数组
    $t[]=$ret;是往$t数组中添加元素
      

  7.   


    这样子相当于在每次循环的时候就重新定义了 t 这个数组
    要加定义的话 把 $t=array()写在while外面
      

  8.   

    $t=array(); 是定义 $t 为一个空数组
    你要把它写在循环前面,而不是循环里面
      

  9.   

     现在是这样显示的Array ( [0] => 1 [id] => 1 [1] => 哈哈 [name] => 哈哈 )
    我想这样:
    1 哈哈
    2 nj
    3 dkfl  
    4 eirj
    用echo 怎么显示?关键它不是在当前页面输出 而是组织好之后return传值,这个比较麻烦
      

  10.   


    if($a=mysql_num_rows($q)){
     while($ret=mysql_fetch_array($q)){  $t[] = $ret;
     }
     return $t;
    }你用echo 输出
    for($i=0;$i<count($t);$i++)
    {
     echo $t[$i]['id'];
     echo $t[$i]['name'];
     echo '<br/>';
    }