0

私はまだ1つの画面に2つの異なるテーブルからのデータを表示するために戦っています。テーブルには両方とも1つの共通のフィールド名が含まれています。必要なのは、そのフィールド名でフィルタリングし、共有するフィールド名に基づいて、その行の詳細を変更および表示できるようにすることです。

2つのテーブルは次のとおりです。

メンバーと受信者

メンバーでは、主キーmember_idがあり、一意です。次に、受信者で、membersテーブルの一意のmember_idにもリンクする必要があるmember_idフィールドを作成しました。

次のコードは、membersテーブルから情報を呼び出します

<?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も呼び出しています。

同じページで、次のコードを使用して、別のテーブルからメンバーに関連する情報を呼び出そうとしています。情報は最初のコードの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);
?>

2番目のコードを使用すると、情報を呼び出さないため、結果が得られません。

4

1 に答える 1

0
  1. mysql関数の代わりにmysqliを使用する
  2. YouSQLクエリでエイリアスを使用します。

これを変える

"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"

多分これは役立つでしょう。

于 2013-03-03T12:04:52.053 に答える