present_user表字段kid(礼物ID) userid(赠送用户ID) senduserid(接受用户ID)
present表字段 ID(礼物ID) btt(礼物名称)
main 表字段 ID(用户ID) nickname(用户昵称)输出结果 显示谁赠送给谁某某礼物10条

解决方案 »

  1.   


    select (select nickname from main where id=p.userid),
    (select nickname from main where id=p.senduserid),
    pt.btt
    from present_user p,present pt 
    where p.kid=pt.id(+)
      

  2.   

    select count(*), main.nickname, present.btt from present_user left join main on present_user.userid = main.id left join present on present_user.senduserid = present.id
      

  3.   

    select count(*), main.nickname, present.btt from present_user left join main on present_user.userid = main.id left join present on present_user.senduserid = present.id where userid = $uid
      

  4.   


    select (select nickname from main where id=p.userid),
    (select nickname from main where id=p.senduserid),
    pt.btt
    from present_user p left join present pt 
    on p.kid=pt.id 这个应该可以的
      

  5.   

    4 5 6 8楼都不行啊 直接提示 语句错误<?php
    $rt=$db->query("select count(*), main.nickname, present.btt from present_user left join main on present_user.userid = main.id left join present on present_user.senduserid = present.id where userid = $uid");
    $total = $db->num_rows($rt);
    if ($total <= 0) {
    echo "<DIV><DIV sytle='display=inline-block;height=40px;margin=0px auto;width=560px;'>暂时还没有人送你礼物..</DIV></DIV>";
    }
    ?>
         <DIV>
    <DIV sytle="display=inline-block;height=40px;margin=0px auto;width=560px;"><?php echo $rows['nickname'];?></DIV>
    </DIV>
      

  6.   


    select (select nickname from main where id=p.userid),
    (select nickname from main where id=p.senduserid),
    pt.btt
    from present_user p left join present pt 
    on p.kid=pt.id 查出来是某用户送给某用户的礼物
    放在数据库查一下,是没问题的,看代码那里是不是拼错了