2014-10-18 2 views
0

Я попытался присоединиться к двум таблицам. одна категория, а другая - подкатегория. идентификатор в таблице категорий становится идентификатор кошки в подкатегорию таблицеприсоединиться к двум таблицам для отображения данных

категории

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 как catname, subcategory.name как подкатайт, category.catimage, subcategory.id, subcategory.catid FROM category INNER JOIN подкатегория ON category.id = subcategory.catid "' –

ответ

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