while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
$i=0;
foreach ($row as $value) {
$i++;
echo "Value";
echo str_pad($i,2,'0', STR_PAD_LEFT);
echo ": $value<br>\n";
}
}

解决方案 »

  1.   

    不好意思,前2天有事没有上网,我用你的代码试了,其他的都可以,就是有个小毛病,Value后的数字序列总是01、02的循环,不知道是哪里出了毛病。
    Value01:0001
    Value02:0001
    Value01:0001
    Value02:0001
    Value01:0002
    Value02:0002
    Value01:0003
    Value02:0003
    Value01:0003
    Value02:0003
    Value01:0003
    Value02:0003
    Value01:0004
    Value02:0004
      

  2.   

    1、把$i=0;放在while循环外面
    $i = 0;
    while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
      foreach ($row as $value) {
        printf("Value%02d: %s<br>\n",$i++,$value);
      }
    }
    2、MYSQL_BOTH(默认值)将产生相同的两组输出,一组用字段名做关联键,一组用序号做索引。通常在应用中只取一组
      

  3.   

    谢谢唠叨,现在的输出变成这样了:
    Value00: 音乐表演(歌剧、音乐剧方向)
    Value01: 音乐表演(歌剧、音乐剧方向)
    Value02: 艺术设计(现代实用美术方向)
    Value03: 艺术设计(现代实用美术方向)
    为什么每个输出结果都出现2次?
      

  4.   


    while ($row = mysql_fetch_array($result, MYSQL_NUM)) 
    中的MYSQL_BOTH改成MYSQL_NUM或者MYSQL_ASSOC就可以了;
    谢谢唠叨、谢谢神仙!