使用两个表显示在一个屏幕上

使用两个表显示在一个屏幕上

问题描述:

SQL数据我仍然battelling显示在一个屏幕上两个不同表中的数据。这两个表都包含一个公共字段名称,我只想过滤该字段名称,并能够根据它们共享的字段名称来更改和显示该行或这些行中的详细信息。使用两个表显示在一个屏幕上

两个表是:

成员和收件人

在成员它有一个主键member_id并且是独一无二的。然后在收件人中,我创建了一个member_id字段,该字段也需要链接到members表唯一的member_id。

下面的代码从成员表

<?php 
$con = mysql_connect("localhost", "****", "****"); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("stingin_epanic", $con); 

$result = mysql_query("SELECT * FROM members WHERE member_msisdn='$slusername'"); 
echo "<table border='1'> 
    <tr> 
    <th>Membership</th> 
    <th>Number</th> 
    <th>Registration Date</th> 
    <th>End Date</th> 
    <th>Copy of ID</th> 
    </tr>"; 
while ($row = mysql_fetch_array($result)) { 
    echo "<td><center>" . $row['member_id'] . "</td>"; 
    echo "<td><font color=blue>" . $row['member_msisdn'] . "</td>"; 
    echo "<td><center>" . $row['asdate'] . "</td>"; 
    echo "<td><center>" . $row['aedate'] . "</td>"; 
    echo "<td><center>" . $row['attid'] . "</td>"; 
    echo "</tr>"; 
} 

echo "</table>"; 

mysql_close($con); 
?> 

这个伟大的工程,给我什么,我需要调用的信息。我也在这里调用member_id来显示主键。

在同一页上我试图调用使用下面的代码另一个表相关的会员信息。请注意,这些信息应该被链接到第一码

<?php 
$con = mysql_connect("localhost", "****", "****"); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("stingin_epanic", $con); 

$result = mysql_query("SELECT * FROM members a INNER JOIN recipients b ON member_id = member_id WHERE member_msisdn=$slusername"); 
echo "<table border='1'> 
    <tr> 
    <th>Name</th> 
    <th>Number</th> 
    </tr>"; 

while ($row = mysql_fetch_array($result)) { 
    echo "<td><font color=blue>" . $row['recipient_name'] . "</td>"; 
    echo "<td>" . $row['recipient_msisdn'] . "</td>"; 
    echo "</tr>"; 

    echo "<td><font color=blue>" . $row['recipient_name'] . "</td>"; 
    echo "<td>" . $row['recipient_msisdn'] . "</td>"; 
    echo "</tr>"; 
} 

echo "</table>"; 

mysql_close($con); 
?> 

使用第二个代码我没有得到任何结果的member_id,因为它是调用没有信息

  1. 使用mysqli的,而不是MySQL的功能
  2. 在您的SQL查询中使用别名。

改变这种

"SELECT * FROM members a INNER JOIN recipients b ON member_id = member_id WHERE member_msisdn=$slusername" 

这个

"SELECT * FROM members a INNER JOIN recipients b ON a.member_id = b.member_id WHERE member_msisdn=$slusername" 

也许这会有所帮助。

+0

这真是棒极了谢谢! – 2013-03-03 12:07:59

+0

不是问题:)。检查这个答案为'接受'并投票:) :) – 2013-03-03 12:10:30

+1

和.....请确保你正确地逃脱你的值使用它们在SQL语句,或使用'绑定'。此代码可能容易受到SQL注入攻击! – thaJeztah 2013-03-03 13:08:20