2015-12-23 3 views
1

У меня проблема с получением продуктов на странице родительской категории. Моей база данных структуры таблицы:Показать продукты подкатегорий на странице родительской категории в php, mysql

Родитель-категория:

id -catname 
1 - Mobiles & Tablets 
2 - Compuetrs 

Подкатегории:

id cid sub_name 
1 1 Mobiles 
2 1 Tablets 
3 2 Desktops 
4 2 Laptops 

продуктов таблица структура: Мои продукты таблица многообразна и основаны на подкатегориях. Пример: таблетки продукты находятся под таблеток настольные и мобильные изделия находятся под мобильные телефоны стол. Продукты хранятся в разных таблицах на основе их подкатегорий.

id cid sub_id product_name 
1 1  1  Lenovo latest mobile 
2 2  3  Dell Monitor 

Теперь я хочу, чтобы получать продукты из таблицы (мобильных телефонов, планшетов, настольных компьютеров, ноутбуков) на родительской категории страницах. Я попробовал это с объединением, но только в то время, когда в запросе извлекается только одна таблица. Может ли кто-нибудь предложить что-то. Заранее спасибо.

<?php 
if(isset($_GET)) { 
    $cid = $_GET['id'];  
    if($cid == 1){ 
     $tablename = "mobiles"; 
    } 
    if($cid == 2){ 
     $tablename = "computers"; 
    } 
    $results=mysql_query("SELECT * FROM $tablename WHERE cid = '$cid'"); 
    while($rows=mysql_fetch_array($results)){ 
     // code 
    } 
} 

ответ

3

запросов в цикле снижает производительность, вы всегда можете присоединиться к таблицам и получить данные, запрашивая базу данных только один раз,

Try,

SELECT products.product_name, parent_category.catname 
FROM products 
JOIN parent_category ON products.cid = parent_category.id 

присоединяется также работать на нескольких столах, предположим, что вы хотите чтобы получить категорию, а также подкатегорий,

Try,

SELECT products.product_name, parent_category.catname, sub_category.sub_name 
FROM products 
JOIN parent_category ON products.cid = parent_category.id 
JOIN sub_category ON products.sub_id = sub_category.id 

Подробнее о присоединениях: here

+0

Спасибо. Но мне нужно извлекать продукты из нескольких таблиц, которые связаны с идентификатором id и подкатегории родительской категории. возможно ли это благодаря объединению? –

+0

@Sandeepsidhu проверить править! – Viral

+0

Спасибо .. Это означает, что я могу использовать имя переменной '$ tablename' вместо tablename 'products', потому что у меня есть несколько таблиц для примера продуктов: мобильные телефоны, планшеты, мониторы и список продолжаются ...... и мне нужно извлекать данные из этих таблиц на основе родительских категорий и подкатегорий –

Смежные вопросы