$result结果集,遍历一次,指针就指到末尾了,foreach第二次循环,就根本不会进while这是问题所在.
用mysql_data_seek($result,0);重置结果集foreach ($name as $value) 

$result = mysql_data_seek($result,0);
while($row=$db->getarray($result)) 

if($value==$row[username])//判断当前的$row[username]是否属于数组$name中的内容. 
  {$value='';} 

$require_keep=$require_keep.$value.','; 

解决方案 »

  1.   

    这是你db类的设计问题.
    要么是你的db->getarray始终只取第一条出来.执行多少次,也只取了第一条.
    要么是在取第一条后就中止.
      

  2.   

    2楼的老大~~  报错了.Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\cpdm\include\db.class.php on line 43Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in c:\appserv\www\cpdm\admin\super\call.php on line 6666行就是$result = mysql_data_seek($result,0); 43行那个错在我的bd类中.function getarray($result)
    {
    return mysql_fetch_array($result , MYSQL_ASSOC);   //这就是43行
    }5楼的老大~~  return mysql_fetch_array  这么写,应该是返回全部数据吧
      

  3.   

    $result = mysql_data_seek($result,0);
    =>
    mysql_data_seek($result,0);
      

  4.   

    $result=$db->query("SELECT * FROM `user` where `dept` LIKE '$dept' " );  //这里是取用户名中的用户名$name=explode(",",$row1["require"]);    //这是把另一个表里的require字段取出来  记录里存的是  "王一,王二,刘三"  什么的while($row=$db->getarray($result)) {
    if (in_array($row[username],$name)) {//判断当前的$row[username]是否属于数组$name中的内容.
    $value = "";
    }
    $require_keep=$require_keep.$value.',';//不知道你想做什么
    }