order 表是记录订单号,记录着购买用户的id。因为框架是用thinkphp写的,在模板里用<volist name="list" id="list">{$list.uid}</volist>循环出来的是订单号的列表,但是现在要显示拍下订单的用户名,因为数据库里只记录用户id,如果再根据uid去读取用户名,就得在模板代码中操作数据库,但是好像在模板里不能执行$db = new Model()之类的数据库操作代码、我直接换成mysql_query()也不行,得出来的一连串问题。所以也想不到什么好的办法,只能通过sql来做。但是sql语句怎么同时选择多个数据库?组织不起来。
$db->query("select * from order as a  ???   (select uname from member where id = a.uid)")或者大家谁用过thinkphp,知道如何在模板文件中写操作数据库代码,或者有什么更好的方法。

解决方案 »

  1.   

    select * from order a,member b where a.uid =b.id
      

  2.   

    谢谢,这种方法我是知道的,诶,只是我之前没有想通,以为这样就会只读取a.uid=b.id的内容(反正就以为这样是读不出来的),但是现在一想不管怎样,这就是我要的结果莫名奇妙的头绪就清晰了。
      

  3.   

    你这是表连接查询。参考: 
    select a.*,m.name as username from `order` a left join member m on m.id = a.uid;
      

  4.   

    已经解决了,谢谢大家帮忙,对了,我发现了一个方法,就是thinkphp里多次使用数据库操作可以在common.php分别写对应的函数,比如getuser(uid),以后直接可以在模板里调用。希望可以让更多新手少走些弯路。