PHP+MYSQL 查询结果作为条件再查另一个表,怎么弄?

表Auseridname1张三2李四3赵五表Biduseridmobile13138999999992215566667777查询表B后如下列表<?phpdo{?><tr... 表A
userid name
1 张三
2 李四
3 赵五

表B
id userid mobile
1 3 13899999999
2 2 15566667777

查询表B后如下列表
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['user_id']; ?></td>
<td><?php echo $row_Recordset1['mobile']; ?></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

如何把查询结果列表中的user_id替换成表A中的name
展开
 我来答
76476567
2012-11-27 · TA获得超过441个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:185万
展开全部
方法一:很简单,再查询一次就好了,代码如下

<?php

while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
$sql = "select * from 表A where userid={$row_Recordset1['user_id']} limit 1";
$query = mysql_query($sql);
$user = mysql_fetch_assoc( $query );

?>

<tr>
<td><?php echo $user['name']; ?></td>
<td><?php echo $row_Recordset1['mobile']; ?></td>
</tr>

<?php } ?>

方法二: 用联合查询,直接查出两张表的数据
<?php

$sql = "select * from tableA,tableB where tableA.userid = tableB.userid limit 10";
$query = mysql_query($sql);
$user = mysql_fetch_assoc( $query );
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {

?>

<tr>
<td><?php echo $user['name']; ?></td>
<td><?php echo $user['mobile']; ?></td>
</tr>

<?php } ?>

好像刚才解答了一个类似的问题,不会是你的同学吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mouse_ye
2012-11-27 · TA获得超过327个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:192万
展开全部
怎么最近老问 多表联查的问题 简单点就是 select a.name,b.mobile from a,b where a.userid=b.userid

当然还有很多方法,熟悉后你会发现 条条大道通罗马
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feierwolf
2012-11-27
知道答主
回答量:16
采纳率:100%
帮助的人:4万
展开全部
select a.name b.mobile from a as a left join b as b where a.userid=b.userid group by a.userid order by b.id desc limit 0,10;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式