重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果是mysql里面两个不同的数据库,应该是可以直接使用 [数据库名称].[表名]来关联的。TP指定的数据库,是因为他要缓存这个数据库的表字段等。
创新互联公司专注于华亭企业网站建设,响应式网站建设,商城网站制作。华亭网站建设公司,为华亭等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
试试看行不行,我测试通过: SELECT a.*,b.* FROM table1 a LEFT JOIN db2.table2 b ON a.id=b.id
?php
$sql_str="select toid,fromId,info,max(addDate) as A_date
from msg where toid=1 group fromid order by fromId "
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$rs= mysql_query($sql_str,$con);
while($row = mysql_fetch_assoc($rs)){
echo $row['toid']."__".$row['fromid']."__".$row['info']."__"$row['A_date']."/br";
}
?
楼下几位都对。但是你这表其实不太合理,两张表的关联有问题。因为商家名可能相同,建议你加个字段shangjiaID
。table1
和table2中都有,且唯一。然后用左链接。left
join
。不明白啥意思可以去百度下。
$host="localhost";
$username="root";
$password="root";
$database="aaaa";
$mysqli = new mysqli($host, $username, $password, $database);
if($mysqli-connect_errno){
echo'fail';
exit;
}
//设置数据库编码格式
$mysqli-set_charset("UTF8");
/*编写sql获取分页数据 SELECT*FROM 表名 LIMIT 起始位置,显示条数*/
//$sql="select * from xiao";
$sql="select * from A as a inner join B as b on a.p_id=b.id";
/*把sql语句传送到数据库*/
$query=$mysqli-query($sql);
echo "table border='#CCF solid 1px'";
echo "trtdid/tdtdp_name/td/tr";
while($row = $query-fetch_assoc())
{
//echo "trtd".$row['id']."/tdtd".$row['name']."/td/tr";
echo "trtd".$row['p_s']."/tdtd".$row['p_name']."/td/tr";
}
echo "/table";
上面的代码你改改,效果图如下
//$list表示查询后的结果集,使用下面的方法后可以直接在模板上使用$list这个结果集。
$this-assign('list',$list);
$this-list = $list;
比如联合A B俩表\x0d\x0a\x0d\x0aselect a.*,b.* from A as a left join B as b on a.id = b.id where a.name='lileiand b.age=27 order by a.id group by a.class limit 10 ;\x0d\x0a\x0d\x0a很简单