簡體   English   中英

從數據庫中檢索類別名稱

[英]Retrieving a category name from database

我的數據庫中有兩個表。 一個叫jokes ,另一個叫category

jokes

CREATE TABLE `jokes` (
  `joke_id` int(11) NOT NULL AUTO_INCREMENT,
  `joke` varchar(1024) NOT NULL,
  `category_id` int(11) NOT NULL,
  PRIMARY KEY (`joke_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

category

CREATE TABLE `category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(51) NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

我的PHP在表格中顯示笑話

<?php
include 'database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM jokes ORDER BY joke_id DESC';
foreach ($pdo->query($sql) as $row) {
    echo '';
    echo '<table class="table">';
    echo '<thead>';
    echo '<tr>';
    echo '<h3><th>Category Name</th></h3>';
    echo '<h3><th>Action</th></h3>';
    echo '<tbody>';
    echo '<tr>';
    echo '<thead>';
    echo '<tbody>';
    echo '<tr>';
    echo '<td >' . $row['joke'] . '</td>';
    echo '<td width=250>';
    echo '<a class="btn-big white" href="read.php?id=' . $row['joke_id'] . '">Read</a>';
    echo '&nbsp;';
    echo '<a class="btn-big green" href="update.php?id=' . $row['joke_id'] . '">Update</a>';
    echo '&nbsp;';
    echo '<a class="btn-big red" href="delete.php?id=' . $row['joke_id'] . '">Delete</a>';
    echo '</td>';
    echo '</tr>';

}
Database::disconnect();
?>

我的問題是,如何使笑話的category_name顯示在回顯'<h3><th>Category name</th></h3>'; 用PHP? 因為此刻,該表僅顯示一個笑話,沒有笑話的類別名稱。 例如:名人笑話:這是名人笑話。

您應該更改查詢以包括類別名稱。

SELECT j.joke AS joke, j.joke_id AS joke_id, c.name AS category 
FROM jokes j, category c 
WHERE j.category_id = c.category_id

之后,您可以通過調用$row['category']獲得類別

使用此查詢:

$sql = 'SELECT j.*, c.name 
        FROM jokes j 
         LEFT JOIN category c ON c.category_id = j.category_id 
         ORDER BY joke_id DESC';

要回顯類別名稱,請使用: $row['name']

暫無
暫無

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

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