Как мне отобразить значения из других таблиц в базе данных на php?

#php #html #mysql

#php #HTML #mysql

Вопрос:

Я отображаю все элементы в моей таблице базы данных

В моей базе данных также есть таблица категорий, которая содержит эти значения

Элемент таблицы имеет атрибуты (ItemId, Name, Price, CategoryID (FK)) Категория таблицы имеет атрибуты (CategoryID (PK), имя, описание)

 CategoryID    Name        
1             Pizza
2             Burgers 
  

Теперь, когда я отображаю элементы, они отображаются в таком порядке

 Item Name      Category Price(USD)
Cheese Burger  2        7
Chicken Pizza  1        10
  

вместо идентификатора категории я хочу, чтобы название категории отображалось следующим образом

 Item Name      Category Price(USD)
Cheese Burger  Burger   7
Chicken Pizza  Pizza    10
  

Вот мой SQL-запрос, который я написал

 if(isset($_POST['search1'])){
    $searchKey1 = $_POST['search1'];
    $sql1 = "SELECT * FROM item WHERE Name LIKE '%$searchKey1%'";

}
else{
    $sql1 = "SELECT item.*,category.Name FROM item, category where item.CategoryID=category.CategoryID";
    $searchKey1 ="";
}
$result1 = mysqli_query($conn, $sql1);
  

html-часть

 <p><strong>Displaying Menu by Item</strong></p>
<p><a href="add_items.php">Add Items</a></p>
<table class="table table-bordered">
  <tr>
    <th>Item Name</th>
    <th>Category</th>
    <th>Price</th>
    <th colspan="2">Actions</th>
  </tr>
  <?php while($row = mysqli_fetch_object($result1)) {?>
  <tr>
    <td><?php echo $row->Name?></td>
    <td><?php echo $row->CategoryID?></td>
    <td><?php echo $row->Price?></td>
    <td><a href="delete_item.php?id=<?php echo $row->ItemID ?>"><i class="fa fa-trash"></i>Delete</a></td>
    <td><a href="edit_items.php?id=<?php echo $row->ItemID ?>"><i class="fas fa-pencil-alt"></i>Edit</a></td>
  </tr>
  <?php } ?>
  

Ответ №1:

Вы можете добавить псевдоним во втором запросе:

 $sql1 = "SELECT item.*,category.Name as categoryName FROM item, category where item.CategoryID=category.CategoryID";
  

И измените значения столбца категории:

 <td><?php echo $row->categoryName?></td>