簡體   English   中英

如何獲取PHP中外鍵引用的列名

[英]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 JOINRIGHT JOIN相反的作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM