繁体   English   中英

连接两个表以显示数据

[英]join two tables to display data

我试图加入两个表。 一个是类别,另一个是子类别。 类别表中的id成为子类别表中的cat id

类别

id  name  catimage  
2   cat1  image1

子类别

id  name     subcatimage  catid
1   subcat1   image2       2 

该代码是

<?php
ob_start();
require_once('config.php');

    $selectsubcategory = mysql_query("SELECT category.name, subcategory.name, category.catimage, subcategory.id, subcategory.catid FROM category INNER JOIN subcategory ON category.id=subcategory.catid ");    
    $posts = array();
    if(mysql_num_rows($selectsubcategory)) 
        {
            while($post = mysql_fetch_assoc($selectsubcategory)) 
                {
                    $posts[] = $post;
                }
            header('Content-type: application/json');
            echo stripslashes(json_encode(array('subcategorylist'=>$posts)));
        } 
    else 
        {
            header('Content-type: application/json');
            echo stripslashes(json_encode(array('subcategorylist'=>'No subcategory')));
        }
?>

我正在获取所有详细信息,但问题是我没有得到category.name的结果。 谁能帮忙

PS我用过sql,现在稍后会更改它,我关心的是功能部分

subcategory.name会覆盖您的类别名称。 您必须为子类别名称使用别名,如下所示:

 $selectsubcategory = mysql_query("SELECT category.name, subcategory.name AS sub_name, category.catimage, subcategory.id, subcategory.catid FROM category INNER JOIN subcategory ON category.id=subcategory.catid ");    

可以帮助您...

这里MainCatName将显示类别名称字段数据...,而SubCatName将显示为子类别名称字段数据...

SELECT
    `category`.`name`  AS MainCatName
    , `subcategory`.`name` AS SubCatName
FROM
    `category`
    INNER JOIN `subcategory` 
        ON (`category`.`id` = `subcategory`.`catid`);
SELECT
      Category.name, category.catimage,
      subcategory.name, subcategory.id,
      subcategory.catid
FROM
     category INNER JOIN subcategory
WHERE
      category.id = subcategory.catid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM