输出两个mysql表中的内容

时间:2017-09-17 21:35:05

标签: php mysql

我的PHP代码需要一些帮助。我正在尝试从mysql数据库中的两个不同的表中获取数据,这样我就可以输出每个内容。

我想输出如下内容:

101 BBC One S East

http://www.example.com/bsdev/UK-BBC-1


102 BBC Two

http://www.example.com/bsdev/UK-BBC-2


103 ITV

http://www.example.com/bsdev/UK-ITV-1

以下是内容的输出显示:

101 BBC One S East

http://www.example.com/bsdev/UK-BBC-1

http://www.example.com/bsdev/UK-BBC-2

http://www.example.com/bsdev/UK-ITV-1


102 BBC Two

http://www.example.com/bsdev/UK-BBC-1

http://www.example.com/bsdev/UK-BBC-2

http://www.example.com/bsdev/UK-ITV-1


103 ITV

http://www.example.com/bsdev/UK-BBC-1

http://www.example.com/bsdev/UK-BBC-2

http://www.example.com/bsdev/UK-ITV-1

以下是代码:

$qrytable1="SELECT id, channels, links, categories FROM channels_list";
  $result1 = mysql_query($qrytable1) or die('Error:<br />' . $qry . '<br />' . mysql_error());

  while ($row = mysql_fetch_array($result1)) 
  {
    echo "<p id='channels'>".$row["id"]. " " . $row["channels"]. "</p>";

    $qrytable2="SELECT id, channels, streams FROM chris_channels";
    $result2 = mysql_query($qrytable2) or die('Error:<br />' . $qry . '<br />' . mysql_error());

    while ($row = mysql_fetch_array($result2)) 
    {
      echo "<p id='streams'>".$row["streams"]. "</p>";
    }
    //mysql_close();
    //exit;
  }
  mysql_close();
  exit;

你能告诉我一个例子,我可以用来从数据库的两个不同的表中获取内容,输出我想要的内容而不需要循环吗?

1 个答案:

答案 0 :(得分:0)

你需要在表之间使用连接,即

$qrytable1="SELECT id, channels, links, categories, streams 
FROM channels_list
INNER JOIN chris_channel ON (chris_channel.channels = channel_list.channels)";

[编辑]

两个表都有一个名为id的字段。您需要定义要显示/使用/返回的那个。我认为它是来自channels_list的那个,所以你需要将查询更改为:

$qrytable1="SELECT channels_list.id, channels, links, categories, streams 
FROM channels_list
INNER JOIN chris_channel ON (chris_channel.channels = channel_list.channels)";