2

workdetails というテーブルがあります。同じ人物に属するすべての作業の詳細を識別するために、personid と呼ばれる外部キーがあります。qualificationdetails テーブルは、次のフィールドで構成されます。

  • Qualificationid (Pri、INT、Auto_increment)
  • QualificationType (Varchar)
  • 資格名 (VarChar)
  • 機関名 (VarChar)
  • 完了年 (VarChar)
  • Personid (外部キー、INT)

ユーザーがフォームに入力すると、希望する数の資格を送信します。ここで、このデータを取得して Web ページに表示したいと思います。以下は、ページの上部にある php コードです。

<?php
//Start the session
session_start();
//Connect to the database
require 'scripts/connect.php';
//Get the Person id
$persid = $_GET['Personid'];
//Select Applicant information from the tables
$Personid_query ="SELECT * FROM person where Personid=$persid";
$Qualification_query ="SELECT *FROM qualifications where Personid=$persid";

//Submit the selected information into the database
$Personid = mysql_query($Personid_query) or die(mysql_error);

$Qualificationid = mysql_query($Qualification_query) or die(mysql_error);

//Fetch the Applicant data
$row = mysql_fetch_assoc($Personid);
$QDrow = mysql_fetch_assoc($Qualificationid);
//I need to have another look at this one as well

?>

次のコードは、html タグ内にあります。


資格名:

                                <hr width ="50%" />
                              <table border="0">
                              <!-- Display Qualification details-->
                              <tr>
                              <td><strong>Institution Name:</strong></td>
                              <td><?php echo $QDrow['InstitutionName'];?><br/></td>
                              </tr>
                              <tr>
                              <td><strong>Year Completed:</strong></td>
                              <td><?php echo $QDrow['CompletionYear'];?><br/></td>
                              </tr>

しかし問題は、上記のコードは 1 つのレコードしか表示しないことですが、1 人あたりのレコードを表示したいと考えています。例えば

  • 人物 123
  • 理学士
  • 数学
  • ドイツ大学
  • 1999年

  • 人物 1234
  • 理学士
  • 統計学
  • ロンドン大学
  • 2000. 本当に助けが必要
4

2 に答える 2

1

JOIN を使用しない理由

 $query ="SELECT * FROM person INNER JOIN qualifications ON   
person.Personid=qualifications.Personid where Personid=$persid";
于 2012-11-29T08:04:20.420 に答える
0

人にはいくつかの資格があるので、すべての資格を示す必要があります。

これを試してください

while($QDrow = mysql_fetch_array($Qualificationid)){
?>  
<tr>
   <td><strong>Institution Name:</strong></td>
   <td><?php echo $QDrow['InstitutionName'];?><br/></td>
   </tr>
   <tr>
   <td><strong>Year Completed:</strong></td>
   <td><?php echo $QDrow['CompletionYear'];?><br/></td>
 </tr>    
<?php
}
于 2012-11-29T07:08:15.240 に答える