2014-10-18 67 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