php如何关联两个或者多个数据表?

php如何关联两个或者多个数据表?,第1张

至少三个方法可以实现:

一、使用视图来实现多表联合查询,

例如:创建视图:create view userstoposts as select u.name,u.qq,p.post_id,p.title, p.contents, p.contents from users as u,posts as p where u.name=p.name

二、直接使用表联合查询

例如:select u.name,u.qq,p.* from users as u,posts as p where u.name=p.name

三、结合PHP语言实现

例:1、

<?php

$Sql="select *from posts"

$Result=@mysql_query($Sql)

while($rows=mysql_fetch_assoc($Result)){

$sql1="select name,qq from users where name='".$rows['name']."'"

$result1=@mysql_query($sql1)

$rows1=mysql_fetch_assoc($result1)

$OUTPUT[]=array(

'name'=>$rows['name'],

'qq'=>$rows1['qq'],

'post_id'=>$rows['post_id'],

'title'=>$rows['title'],

'contents'=>$rows['contents']

)

}

print_r($OUTPUT)//可以你需要的结果输出

?>

这是查找。select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID 如果要分页的话,就在后面加 limit 如:select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID limit 0,5, 就是查 0到 第5条记录。具体数字还是得自己设置哦。

select `a`.*, `b`.`导师姓名` WHERE `a`.`导师ID` = `b`.`导师ID`

A表中导师ID为索引

B表中导师ID为主键

这样都不明白。。无奈了

你把你数据库里字段名写出来,别用文字代替了

另外还有要检索什么东西

直接写好sql给你就是了

if ($condition == ""){

$condition = "WHERE sid LIKE \"%".$id."%\""

} else{

$condition .= "AND sid LIKE \"%".$id."%\""

}

改成

condition = " AND sid LIKE \"%".$id."%\""

然后SQL该下

$sql = 'select `data`.*, `teacher`.`tname` FROM `data`, `teacher` WHERE `data`.`tid` = `teacher`.`tid`' . $condition

就这样


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9941831.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存