php - 如何根据id显示两个表中的数据

标签 php mysql sql join

-----------------------------------------
      Table Name: product_cat
-----------------------------------------
id         - int(11)     - auto_increment
           -             -
cat_name   - varchar(30) -
           -             -
branch_code- varchar(30) -
           -             -
date       - datetime    -



-----------------------------------------
      Table Name: product_brand
-----------------------------------------
id          - int(11)     - auto_increment
            -             -
parent_id   - int(11)     -
            -             -
branch_name - varchar(40) -
            -             -
category    - varchar(40) -

我通过此查询在product_brand表中应用了外键(alter table Product_brand add约束ta1外键(parent_id)引用product_cat(id))

我正在通过以下方式在 product_brand 表中插入数据

<table>
         <form action="index.php?tanzil=brand_added" method="post">        
     <tr>
       <td>Brand Name:</td>
       <td>
         <input type="text" name="brand_name" />
       </td>
     </tr>
     <tr>
      <td>Category:</td>
      <td>
        <select name="cat_name">

<?php
db_connect();
$q="select * from product_cat order by cat_name";
$rs=mysql_query($q);
for($i=0;$i<mysql_num_rows($rs);$i++){

$rd=mysql_fetch_object($rs);
echo"<option value='$rd->id'>$rd->cat_name</option>";

}
?>

        </select>
      </td>
    </tr>
    <tr>
     <td>
       <input type="submit" value="submit" />
     </td>
   </tr>
      </form>
 </table>

并通过这种方式向数据库插入数据

db_connect();
$name_of_cat = $_POST['cat_name'];
$name_of_brand = $_POST['brand_name'];
$g ="insert into product_brand (parent_id,brand_name,category) values ('$name_of_cat','$name_of_brand','$name_of_cat')";
if(mysql_query($g)){
echo "Done";    
}
else{   
echo"Some error occured";
}

和 通过这种方式显示数据

$query= "select * from product_brand";
$result= mysql_query($query);
while($row=mysql_fetch_object($result))
{
echo $row['brand_name'];
}

但我没有从parent_id的product_cat表引用中获取cat_name名称

我怎样才能得到它?

最佳答案

JOIN两个表:

SELECT
  p.id,
  p.branch_name,
  c.cat_name
FROM product_Brand     AS p
INNER JOIN Product_cat AS c ON c.id = c.parent_id;

关于php - 如何根据id显示两个表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547502/

相关文章:

php SQL 数组的动态列表 - 如何设置顺序?

PHP 计数图像搜索结果

SQL服务器: Check if variable is null and then assign statement for Where Clause

php - 使用 PHP 和 MySQL 根据总分自动更新用户位置

php - Symfony OneToMany 更新而不是插入

php - 如何访问另一个页面上的mysql变量值

PHP PDO 相关 : Update SQL statement not updating the content of the database

如果一列为Null,则SQL返回Null(与COALESCE()相反)

php - Docker PHP 和 FreeTDS - 在已知安装目录中找不到 freetds

php - 使用 PDO 序列化数据是否危险