如何在两个表中显示数据php

时间:2015-07-13 11:09:54

标签: php sql join

我有两个简单的表格T1T2两个上传的数据。我想在特定file_name下显示user_id

T1
-------------------------
ID    user_id  admin_id
1     5        11
2     6        11
3     5        11


T2
--------------------------
ID    user_id  file_name 
1     5        orange
2     6        apple
3     5        banana

我的问题是它会显示两次回声,而不是只显示一次。做这个的最好方式是什么?我必须使用内连接吗?或者每个循环只能使用2个。抱歉,这是一个菜鸟问题。

橙 香蕉

橙 香蕉

这是我的样本:

$test1 = select user_id,admin_id FROM T1;

for($test1 as $key => $value)
{
  $test2 = select user_id,file_type FROM T2;

  foreach($test2 as $key => value2)
  {
    if(test1->user_id==test2->user_id)
    {
      $test2 = select user_id,file_name FROM T2;
      echo $test2->file_name.'<br>';
    }
  }

}

1 个答案:

答案 0 :(得分:1)

首先,你完全错过了样本中的php语法(谈论查询字符串),其次没有对你的mysql(或任何sql)服务器的任何请求。

对于SQL命令,您应该阅读SQL中存在的JOIN命令 http://www.w3schools.com/sql/sql_join.asp 这是一个很好的网站开始。它详细并提供了很好的例子

关于内部联接的问题:不需要左联接(如果我错了,请纠正我)并加入user_id。我不会使用2个查询+循环导致连接是整个数据库事务中最慢的事情。命令本身将立即完成