【问题标题】:Trying to connect two tables together by using id value from one table on the other尝试通过使用另一个表中的 id 值将两个表连接在一起
【发布时间】:2020-01-18 14:44:19
【问题描述】:

所以我对 sql 很陌生,我正在尝试弄清楚如何将两个表连接在一起。

我有一个名为 customers 的表和一个名为 pets 的表,我想将这些宠物分配给特定的客户。 我可以为他们分配一个客户价值,但只能作为 id,当我在显示我的数据的表中引用它时,我无法弄清楚如何获取该 id 并将其更改为客户名称。

例如在我的客户表中 customer id = 10; customerName = "John Smith";

然后我有宠物桌 petId = 16; petName = Alfredo; customerId = 10;

有没有办法从 pets 表中将 customerID = 10 引用回客户表,以便我可以提取客户的姓名而不是 id?

这是我显示列出宠物查询的表格的代码,where $row['customer'] 我想显示客户名称,而不是 ID。

谢谢

        <?php 
      $sql = "SELECT * from pets ORDER BY petName ASC";

      echo "<table class='tableInfo' cellpadding='8'>";
      echo "<tr><th>Pet Name</th><th>Owner</th><th colspan='2'>Action</th></tr>";
      $result = mysqli_query($con, $sql);

      while($row = mysqli_fetch_array($result)){    
          echo "<tr>";    
          echo '<td>' . $row['petName'] .'</td>';    
          echo '<td>' . $row['customerId'] .'</td>'; 
          echo '<td><a href="editPets.php?id=' . $row['id'] . '">Edit</a></td>';    
          echo '<td><a href="deletePets.php?id=' . $row['id'] . '">Delete</a></td>';    
          echo "</tr>";    
    }
        echo "</table>";     
    ?>

【问题讨论】:

  • $sql = "SELECT * from pets join customer on customer.id = pets.customerId ORDER BY petName ASC";
  • 谢谢,我很难理解加入。我只是通过实践而不是通过阅读网站和书籍上的通用示例来学习得更好。这很有帮助。

标签: php mysql sql


【解决方案1】:

是的,您好,您绝对可以使用内部连接来做到这一点:

select * from pets
join customers on pets.customerId = customers.customerId
order by petName

听起来查询可能正在返回错误。也许打印错误:

$res = mysqli_query($con, $sql) or die ('Query failed: ' . mysqli_error($con));

while ($row = mysqli_fetch_assoc($res)) {
    // Do something with row
}

【讨论】:

  • 所以我将两者连接起来,但出现错误。警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值在 D:\xampp\htdocs\appV1\listPets.php 第 29 行给出,这是 while 语句的开头,我是否应该使用某些东西来代替 $row ['customer'] 显示我在寻找什么?
  • 我更改了一些值以使我的问题更容易,所以我的语法有点偏离,我得到了它的工作,这是我的排序方法。非常感谢,你让我更容易推动我正在开发的更多应用程序,我认为它是 Joins 但每次我查找它时它似乎都比实际复杂。
猜你喜欢
  • 2015-09-10
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多