php mysql 输出多个表的数据问题

ganggang4321 2008-11-21 04:34:06
我想从多个表中查询数据并且输出
$sql="select * from table1,table2 where table1.name=table2.name and table1.name='123'";

像这样的SQL语句能从数据库中查寻到数据 但是在一行中
输出时用while 循环

输出显示也是重叠在一起的
就像本应该一条一输出可是它把两个表中的数据放在了一行里输出,如果两个表中有重复字段的话就会重叠在一想了
我再写清楚一些好了比如
table1 中有id,name1,other字段
table2 中有id,name,other2字段

当执行时
while($rs=mysql_fetch_array($result))
{
echo "<tr><td>".$name."</td></tr>";
}

输出结果会是这样的

table_1name1table_2name1
table_1name2table_2name2

我想要的效果是这样的
table_1name1
table_2name1
table_1name2
table_2name2

有没有什么方法在sql语句中区分开各个表,然后按表输出或者输出数组呢
...全文
299 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganggang4321 2008-11-24
  • 打赏
  • 举报
回复
谢谢大家的支持我从新作了!这样做太麻烦了!不过还是谢谢大家了!散分!
程序猿之殇 2008-11-21
  • 打赏
  • 举报
回复
可能你做个手工的截图出来大家会更清楚一点,实在头大呵.
filec75 2008-11-21
  • 打赏
  • 举报
回复
帮顶
ganggang4321 2008-11-21
  • 打赏
  • 举报
回复
很明显你理解错了
我也想多输出一行可是两个表中有一个同样的字段是name
table1_name和table2_name只是name字段下的内容--只是举个例子,输出的还是rs['name']
vvkl 2008-11-21
  • 打赏
  • 举报
回复
不知有没有理解你的意思,多输出一行不就好了?

$sql="select t1.name as table1_name,t2.name as table2_name from table1 t1,table2 t2 where t1.name=t2.name and t1.name like '%123$'";";
$result=mysql_query($sql);
while($rs=mysql_fetch_array($result))
{
echo " <tr> <td>".$rs['table1_name']." </td> </tr>"; //table1
echo " <tr> <td>".$rs['table2_name']." </td> </tr>"; //table2
}

但是既然table1.name=table2.name 那这两行一模一样啊,是不是 table1.id=table2.id啊
ganggang4321 2008-11-21
  • 打赏
  • 举报
回复
我只是举个例子而已,可以这个写where table1.name=table2.name and table1.name like '%123$'";
vvkl 2008-11-21
  • 打赏
  • 举报
回复
$sql语句是否有误?
where table1.name=table2.name and table1.name='123'";
那table1.name 和 table2.name 都指定了是'123'了,那还输出name做什么,是不是要输出other
ganggang4321 2008-11-21
  • 打赏
  • 举报
回复
好像少点东西,应该是$rs['name'] 在两个表中有这个相同的字段
程序猿之殇 2008-11-21
  • 打赏
  • 举报
回复
while($rs=mysql_fetch_array($result)) 
{
echo " <tr> <td>".$name." </td> </tr>";
}

===============
$name从何而来,觉得挺奇怪的.


输出结果会是这样的
table_1name1table_2name1
table_1name2table_2name2
===============
你上面的循环能输出这样的结果??

ganggang4321 2008-11-21
  • 打赏
  • 举报
回复
我也不明白你说的存在数组里是什么意思。执行那条SQL语句后会显示一条作息,在这条信息中包括两个表,怎么丰成数组啊

还有你不明白,我后面不是有一个例子吗,输出的效果还有我想要的效果都显示了出来
还有不明白的吗?
谢谢回帖
程序猿之殇 2008-11-21
  • 打赏
  • 举报
回复
几个表都无所谓.
存到数组里,想怎么显示就怎么显示.
寒一个你的问题,没太明白是什么意思!

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧