本帖最后由 hudiegud2 于 2011-10-02 14:05:09 编辑

解决方案 »

  1.   

    $arr = array($id); //这一行修改为$arr[] = $id;
      

  2.   


    这样不行的。你 print_r,看下,还是只有一个key,那就是0
      

  3.   

    $res = mysql_query("SELECT * FROM news WHERE type='cp'");
    $arr = array();
    while ($rs1 = mysql_fetch_array($res)) {
          $arr[] = $rs1['id'];
          foreach ($arr as $key => $val) {
              $res = mysql_query("SELECT * FROM news WHERE id='{$val}'");
              $rs = mysql_fetch_array($res);
              $name = $rs['name'];
              echo "$name 模块代码运行成功";
          }
    }
      

  4.   

    晕,看得不够仔细,还是不对,照你的思路写,foreach()循环是多余的。
    $res = mysql_query("SELECT * FROM news WHERE type='cp'");
    while($row = mysql_fetch_array($res)) {
    $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
    $rs = mysql_fetch_array($result);
    $name = $rs['name'];
    echo "$name 模块代码运行成功";
    }
      

  5.   

    对每个ID执行一条SQL这样处理的效率太低了,应该可以用一条SQL语句查询出所有的结果再用while()循环处理:
    $res = mysql_query("SELECT * FROM news WHERE type='cp'");
    $arr = array();
    while($row = mysql_fetch_array($res)) $arr[] = $row['id'];
    $sql = "SELECT * FROM news WHERE id IN ('".implode("','", $arr)."')";
    $res = mysql_query($sql);
    while($row = mysql_fetch_array($res)) {
    $name=$rs['name'];
    //这里是其他执行模块代码
    echo "$name 模块代码运行成功";
    }
      

  6.   

    可怜的T5500 肯定用的是 GG浏览器
      

  7.   

    SELECT * FROM news WHERE type='cp'
    SELECT * FROM news WHERE id='$id'你的$id 不就是从 第一条SQL里取得的么?难道这两条SQL难道不能只用
    SELECT * FROM news WHERE type='cp'然后 Foreach 读出里面的iid 再取得里面的 'name' ?
      

  8.   


    第二条SQL的ID 是从第一条SQL里获取的,但每次运行这个PHP文件,都只执行一次。得到的ID是最先的ID,然后执行一次,就停止了。其他ID不会循环。很郁闷。
      

  9.   

    有 看大家的回复么,感觉T5500的代码是符合你的要求的。。$res = mysql_query("SELECT * FROM news WHERE type='cp'");
    while($row = mysql_fetch_array($res)) {
        $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
        $rs = mysql_fetch_array($result);
        $name = $rs['name'];
        echo "$name 模块代码运行成功";
    }
      

  10.   


    $res = mysql_query("SELECT * FROM news WHERE type='cp'");
    while($row = mysql_fetch_array($res)) {
      $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
      $rs = mysql_fetch_array($result);
      $name = $rs['name'];
      echo "$name 模块代码运行成功";
    }
    这段里面。的错误提示的地方是
    1、$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
       当把这里最后面的;前加个),就可以循环。但会出现第2点错误
    2、mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\htdocs\Untitled-11.php on line 18。
    这里“on line 18”对应的是“$rs = mysql_fetch_array($result);”这句
      

  11.   


    sql语句错误,导致查询失败。检查下字段是id么?数据库中id有空值么?
      

  12.   

    mysql_query("SELECT * FROM news WHERE id='".$row['id']."'");首选确认 $row['id'] 这个有值。mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\htdocs\Untitled-11.php on line 18。的错误是因为执行的SQL语句有错.
      

  13.   

    感谢 T5500
    感谢 PhpNewnew
    感谢各位热心的 湿胸、姐
    我就觉得奇怪,不加 其他执行代码就可以把所有ID循环echo输出,加上其他循环代码就只输出一次。原来是我的 其他循环代理 里有个 $result 自定义变量 和 这个大大的总循环(就叫他总循环吧)里的$result自定义变量冲突导致的。,改下自定义变量名称就好了。纵欲可以结贴给分了