0

このコードは実行中です。これは、アカウント番号とパスワードを使用してメンバーがログインした後のメンバー ページです。このページには、アカウントに関する特派員の詳細が表示されます。ここで、別のテーブルのフィールドをここに追加します。私の最初のテーブルは「メンバー」で、次に「アカウント」である別のテーブルを作成し、phpmyadmin のデータベースの両方のテーブルの mem_id フィールドに関係を置きました。今私の問題は、このページに関係テーブルを表示する方法です。メンバーがアカウント番号でログインすると、リレーショナル テーブルの両方のフィールドが自動的にここに表示されます。

<?php  
require_once('connection.php');
$id=$_SESSION['SESS_MEMBER_ID'];
$result3 = mysql_query("SELECT * FROM member where mem_id='$id'");
while($row3 = mysql_fetch_array($result3))
{ 
$fname=$row3['fname'];
$lname=$row3['lname'];
$address=$row3['address'];
$contact=$row3['contact'];
$picture=$row3['picture'];
$gender=$row3['gender'];
}
?>
</h2>
</span>
<table width="597" border="0" cellpadding="0">
  <tr>
    <td height="26" colspan="2" class="style11"></td>
  </tr>
  <tr>
    <td width="166" rowspan="5" class="style11"><div align="left"><img src="style/LOGO  
GRAY.jpg" alt="no image found"" width="129" height="129" border="1" "<?php echo 
$picture ?>/></div></td>
    <td width="126" valign="top" class="style11"><div align="left">First Name:</div>    
</td>
    <td width="297" valign="top" class="style11"><span class="style16"><?php echo 
$fname ?></span></td>
  </tr>
  <tr>
    <td valign="top" class="style11"><div align="left">Last Name:</div></td>
    <td valign="top" class="style11"><span class="style16"><?php echo $lname ?></span>
</td>
  </tr>
  <tr>
    <td valign="top" class="style11"><div align="left">Gender:</div></td>
    <td valign="top" class="style11"><span class="style16"><?php echo $gender ?></span> 
</td>
  </tr>
  <tr>
    <td valign="top" class="style11"><div align="left">Address:</div></td>
    <td valign="top" class="style11"><span class="style16"><?php echo $address ?>
</span></td>
  </tr>
  <tr>
    <td height="42" valign="top" class="style11"><div align="left">Contact No.: </div> 
</td>
    <td valign="top" class="style11"><span class="style16"><?php echo $contact ?>
</span></td>
  </tr>
</table>
        <!--<?php echo $power ?> -->

前もって感謝します

4

2 に答える 2

0

LEFT JOIN他のテーブルに移動する必要があります。このクエリを試してください:

SELECT mem.*, det.* FROM members AS mem LEFT JOIN details AS det ON details.mem_id = members.mem_id WHERE mem_id = {$id};

  1. 後で指定するプレフィックスを使用して、取得するフィールドを選択します。
  2. フィールドにプレフィックスを付けて、ベース テーブルを選択します。
  3. もう一方のテーブルも同様に指定して結合します。
  4. フィールド間の関係と、他のテーブルを結合する方法を指定します。この場合、メンバー ID が同じ場所です。
  5. 利益。:)

結果のデータをループすると、データが結合されるため、他のフィールドと同じように新しいフィールドを参照できます。

Google で見つけた簡単なチュートリアルとテクニカル リファレンスを次に示します。あなたの最善の策は、自分でそれで遊ぶことです。そうすれば、途中で学ぶことができます。:)

于 2013-08-07T03:27:21.117 に答える
0

メンバーの関連データを表示するには、LEFT 結合を使用する必要があります。次のチュートリアルが基本を理解するのに役立つことを願っています.

http://www.tutorialspoint.com/mysql/mysql-using-joins.htm

于 2013-08-07T03:36:07.257 に答える