首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示两个表中引用id的数据

如何显示两个表中引用id的数据
EN

Stack Overflow用户
提问于 2013-03-21 20:26:19
回答 2查看 1.9K关注 0票数 0
代码语言:javascript
复制
-----------------------------------------
      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) -

我通过这个查询(alter table product_brand add constraint ta1 foreign key(parent_id) references product_cat(id))在product_brand表中应用了外键

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

代码语言:javascript
复制
<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>

通过这种方式在数据库中插入数据

代码语言:javascript
复制
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";
}

并以这种方式显示数据

代码语言:javascript
复制
$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名称

我怎么才能得到它呢?

EN

回答 2

Stack Overflow用户

发布于 2013-03-21 20:28:06

这两个表:

代码语言:javascript
复制
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;
票数 2
EN

Stack Overflow用户

发布于 2013-03-21 20:44:37

由于结果必须包含"Product_brand“表中所有行,因此尝试使用左连接,如下所示,

代码语言:javascript
复制
$query= "SELECT
      pb.*,
      pc.cat_name
    FROM product_Brand  pb
    LEFT JOIN Product_cat pc ON pb.id = pc.parent_id";
$result= mysql_query($query);
while($row=mysql_fetch_object($result))
{
echo $row['brand_name'];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15547502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档