是我的对row[]的处理不对吗?
新手求助:
<?php
  $con = mysql_connect("localhost","root","199026");
      if (!$con)
      {
         die('Could not connect: ' . mysql_error());
      }
  
   
      $dbselect = mysql_select_db("andy", $con);
      if ( !$dbselect ) {
       echo "select db fail";
       }
   
   $sql = "select netId from student";
   $result = mysql_query($sql);
       if ( !$result ) {
     echo "<script language=javascript>alert('sql error!');history.back();</script>";
        }
      
$i = 0;

while ( $row = mysql_fetch_array($result) ) {
echo " <option value=$row[$i]>$row[$i]</option>";//问题应该在这里吧= =|
$i = $i + 1;
}
mysql_close($con);

  ?>

解决方案 »

  1.   

    while ( $row = mysql_fetch_array($result) ) {
    echo " <option value=$row[$i]>$row[$i]</option>";//问题应该在这里吧= =|
    $i = $i + 1;
    }----------------------------------------------while ( $row = mysql_fetch_array($result) ) {
       foreach($row as $value){
          echo " <option value=$value>$value</option>";  //这样看一下有什么。。
       }
    }
      

  2.   

    while ( $row = mysql_fetch_array($result) ) {
    //echo " <option value=$row[$i]>$row[$i]</option>";//问题应该在这里吧= =|
    改成
    echo " <option value=$row[0]>$row[1]</option>";//问题应该在这里吧= =|
    因为$row也是数组
    就是mysql里面一行数据$i = $i + 1;
    }
    queryphp网站自动生成HTML,从SEO优化中解脱出来
    -------------------------------------------------
    http://topic.csdn.net/u/20100331/21/0ac266ec-1910-483b-9f91-4d781a773b96.html
      

  3.   

    二楼的可以!
    但所有数据都被copy了一遍
    就是说同一个数据被输出了两次,有什么办法改呢
      

  4.   

    改成这样子
    $row = mysql_fetch_array($result,MYSQL_ASSOC)
    queryphp网站自动生成HTML,从SEO优化中解脱出来
    -------------------------------------------------
    http://topic.csdn.net/u/20100331/21/0ac266ec-1910-483b-9f91-4d781a773b96.html
      

  5.   

    我晕!谢谢一楼和二楼,你们俩的方法结合就对了= =|这是咋回事!?
    现在正确的代码如下:
    while ( $row = mysql_fetch_array($result,MYSQL_ASSOC) ) {
    foreach($row as $value){
    echo " <option value=$value>$value</option>";
    }
    }
      

  6.   

    能帮我解释一下foreach($row as $value)吗
    我怎么觉得foreach是把数组当前内容copy一份?
      

  7.   

    不是拷贝 foreach只是遍历了数组$row 
    如果$row 是一维  $value则是数组元素
    如果$row 是二维  $value则是数组
      

  8.   

    $sql = "select netId from student";
    利用mysql_fetch_array查出来的是一维数组,那你不需要脚标的变化了,直接$row[0]
    或者直接用字段的名称吧$row[netId]
      

  9.   

    while ( $row = mysql_fetch_assoc($result) ) 
    {
        foreach($row as $value){
           echo " <option value=$value>$value</option>";
        }
    }
      

  10.   

    while ( $row = mysql_fetch_array($result) ) {
    echo " <option value=$row[$i]>$row[$i]</option>";//问题应该在这里吧= =|
    $i = $i + 1;
    你可以改成用for 
    $m_rows=mysql_num_rows($result);
    for($m_i=0;$m_i<$m_rows;$m_i++){
        $row = mysql_fetch_array($result)
        echo " <option value=$row[netId]>$row[netId]</option>";
    }