参加する必要のあるテーブルが3つあります。契約テーブルはメインテーブルであり、「ジョブ」テーブルと「会社」テーブルは、契約テーブルに関連付けることができる追加情報です。
したがって、「contracts」テーブルのすべてのエントリと、「jobs」および「companies」データが存在する場合にのみ必要なので、次のようにクエリを作成しました。
$sql = "SELECT * FROM contracts
LEFT JOIN jobs ON contracts.job_id = jobs.id
LEFT JOIN companies ON contracts.company_id = companies.id
ORDER BY contracts.end_date";
では、これをPHPでどのように出力しますか?これを試しましたが、「通知:未定義のインデックス:contracts.id」という未定義のエラーが発生し続けました...
$sql_result = mysql_query($sql,$connection) or die ("Fail.");
if(mysql_num_rows($sql_result) > 0){
while($row = mysql_fetch_array($sql_result))
{
$contract_id = stripslashes($row['contracts.id']);
$job_number = stripslashes($row['jobs.job_number']);
$company_name = stripslashes($row['companies.name']);
?>
<tr id="<?=$contract_id?>">
<td><?=$job_number?></td>
<td><?=$company_name?></td>
</tr>
<?
}
}else{
echo "No records found";
}
どんな助けでも大歓迎です。