[英]How do I get the column name of a foreign key reference in PHP
我有兩個表:類別和測驗
在類別中,我有:category_id | category_name |
在測驗中,我有:quiz_id | 測驗名稱| quiz_category_id | quiz_duration
您會注意到,quiz_category_id是FOREIGN KEY參考。
這是我到目前為止的代碼:
<table>
<thread>
<tr>
<th>quiz name</th>
<th>quiz category</th>
<th>quiz duration</th>
</tr>
</thread>
<tbody>
<?php foreach (get_all_exam() as $r) { ?>
<tr>
<td><?php echo $r['quiz_name'] ?></td>
<td><?php echo $r['quiz_category_id'] ?></td> // I am getting the id value not the name
<td><?php echo $r['quiz_duration'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
get_all_exam()是一個函數,在這里是:這是我執行sql查詢的地方
function get_all_exam () {
$data = array();
$result = mysql_query("SELECT * FROM `quiz`");
while ($row = mysql_fetch_assoc($result)) {
$data [] = $row;
}
return $data;
}
因此,此刻僅打印出來;例如
| 測驗名稱 | | 測驗類別 | | 測驗時間 |
|練習前| | 23 | | 5分鍾|
而不是說23我想要它,以便它在相應的表上查找以獲取名稱
謝謝
SELECT quiz.quiz_name, category.catagory_name, quiz.quiz_duration
FROM quiz LEFT JOIN category
ON (quiz.quiz_category_id = category.category_id)
在select語句中,選擇所需的內容,也可以說SELECT quiz.*, category.*
,但是要小心,如果您具有相同的字段名稱,則可能希望使用AS
進行檢索。
LEFT JOIN
意思是-即使右表中沒有值,也總是從左表中顯示; 因此,即使沒有相應的category_id,它也會顯示quiz_id。 RIGHT JOIN
將RIGHT JOIN
相反的作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.