我现在有个users表
id  name 
1   张三
2   李四
3   王五我要在页面上显示出如下的效果考核人    被考核人
张三      李四
张三      王五
李四      张三
李四      王五
王五      张三
王五      李四
意思就是两两对应,这个应该从数据库怎么查出来,是不是还要循环啊,在线等回复,谢谢啊

解决方案 »

  1.   

    你说的不清楚 ,表里就2个字段id name  ,你的考核人和被考核人是在哪里出来的?他们又是咋个联系上的??
      

  2.   


    考核人和被考核人就是两个标题啊...没有表
    我就想让这个users表里的数据,互相对应起来啊,就是那种效果..
      

  3.   


    SELECT a.name, b.name FROM  users AS a JOIN  users AS b WHERE a.name != b.name
      

  4.   


    一次性查出来 然后循环  题目没提到id 或name是否唯一
      

  5.   

    select a.name,b.name from users a ,users b where a.name!=b.name order by a.name;
      

  6.   

    非常感谢您的帮助..还有个有关这样循环的问题,不过这次不是从数据库读了,而是通过页面的checkbox传过来的数据...
    考核人:                                                             
    <input type="checkbox" name="kaoheren" value="1">张三
    <input type="checkbox" name="kaoheren" value="2">李四
    <input type="checkbox" name="kaoheren" value="3">王五
    被考核人:
    <input type="checkbox" name="beikaoheren" value="1">张三
    <input type="checkbox" name="beikaoheren" value="2">李四
    <input type="checkbox" name="beikaoheren" value="3">王五
    实现的效果也是和我一开始提问的那样
    例如:我在考核人那,选中“张三”和“李四”,被考核人那选中“李四”和“王五”
    需要在页面输出如下:
    考核人     被考核人
    张三       李四
    张三       王五  
    李四       王五这个要怎么实现啊...
      

  7.   

    <input type="checkbox" name="kaoheren[]" value="1">张三
    需要做成数组形式foreach($_POST['kaoheren'] as $p){
        foreach($_POST['beikaoheren'] as $q){
            if($p != $q) echo $p . '---' . $q;//格式自己
        }
    }