2014-10-18 55 views
0

我试图加入两个表。一个是类别,另一个是子类别。 ID在类别表成为子类别表中的类别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结果。谁能帮助

P.S我已经使用SQL,稍后会马上改变我关心的是部分功能

+0

创建别名并检查'“SELECT category.name as catname,subcategory.name as subcatname,category.catimage,subcategory.id,subcategory.catid FROM category INNER JOIN subcategory ON category.id = subcategory.catid” – 2014-10-18 12:15:42

回答

2

的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 ");  
1

可能,这将帮助你...

这里MainCatName将显示类别名称字段数据......和 SubCatName将显示为一个子类别名称字段数据...

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