За последние 24 часа нас посетили 19173 программиста и 1640 роботов. Сейчас ищут 846 программистов ...

Помогите исправить подсчет количества товаров в каждой катег

Тема в разделе "Прочие вопросы по PHP", создана пользователем SergeyEremeev, 6 окт 2013.

  1. SergeyEremeev

    SergeyEremeev Новичок

    С нами с:
    6 окт 2013
    Сообщения:
    5
    Симпатии:
    0
    На сайте есть список категорий товаров (примерно 25 шт.) в каждой категории содержится от 5 до 300 товаров. Нужно реализовать подсчет товаров в каждой категори и вывести его напротив этой категории. Например:
    Блузы ( 3шт. )
    Юбки ( 63шт. )
    Брюки ( 23шт. )
    Лосины ( 85шт. )
    Кардиганы ( 43шт. )
    Джинсы ( 90шт. )

    Что удалось сделать на данный момент можно посмотреть по ссылке там в левой части меню и после категорий уже подсчитывается количество товаров но моих знаний хватило чтоб подсчитать количество ВСЕХ товаров в этом каталоге и вывести их: http://test[dot]corona-jeans[dot]ru/view[dot][dot][dot]197-0015f2b8ef81

    Вчера весь день изучал PHP но так и не получилось реализовать задуманное.
    На вас одна надежда)
    Причем самому хочется понять что я не так делаю.
    А вообще за помощ заранее спасибо.

    Вот PHP код вывода меню:
    Код (Text):
    1.  
    2. <?
    3.                 $result3 = mysql_query ("SELECT name,group_id,parent_group_id FROM shop_groups WHERE hidden!=1 ORDER By position");
    4.                 while ($myrow3 = mysql_fetch_assoc($result3))
    5.                 {
    6.                 $res[$myrow3['parent_group_id']] [$myrow3['group_id']]=$myrow3;
    7.                 }
    8.  
    9.                 $res22 = mysql_query("SELECT COUNT(*) FROM shop_items WHERE name LIKE '%$name%' AND owner_id ='0' ");
    10.                 $row22 = mysql_fetch_array($res22);
    11.  
    12.                 $menu="<div id='menu_left'> <ul>";
    13.                 foreach($res[0] as $r=>$item){
    14.  
    15.                         if(isset($res[$item['group_id']])){
    16.                                 $menu.='<li><span>'.$item['name'].'</span> <span class="est_v_nali">  ('.$total22.' шт.)</span>';
    17.                                 $menu.='<ul>';
    18.                                 foreach($res[$item['group_id']] as $i=>$subItem)
    19.                                         {
    20.                                         if($_GET['parent_group_id']&&$_GET['parent_group_id']==$subItem['group_id']){
    21.                                         $menu.='<li class="active"><a href="view_cat.php?parent_group_id='.$subItem["group_id"].' ">'.$subItem['name'].'</a> </li>';
    22.                                         }
    23.                         else {
    24.                                         $menu.='<li><a href="view_cat.php?parent_group_id='.$subItem["group_id"].'">'.$subItem['name'].'</a> </li>';
    25.                                         }
    26.                                 }
    27.                                 $menu.='</ul>';
    28.                         }
    29.                        
    30.                         else
    31.                         {                              
    32.                         $menu.='<li><a href="view_cat.php?parent_group_id='.$item["group_id"].'">'.$item['name'].'</a>';
    33.                         $menu.='
    34.                         <span class="est_v_nali">  ('.$row22[0].' шт.)</span>
    35.                         </li>
    36.                        
    37.                         ';
    38.                         }
    39.                 }
    40.                 $menu.='</ul></div>';
    41.                 echo $menu;
    42.                 ?>
    Табличка со всеми товарами называется shop_items
    В ней есть поля:
    parent_group_id содержит значения к какой категории принадлежит товар

    Еще есть табличка shop_groups в ней содержатся все категории и в ней есть поле group_id

    Так вот если у товара поле parent_group_id равно полю group_id в таблице shop_groups то товар пренадлежит этой категории.

    Например в табличке товаров (shop_items ):
    V458 Лос. у него parent_group_id='123456'

    А в табличке категорий (shop_groups) поле group_id тоже равно 123456
    а поле name ='Лосины'

    ТО

    Этот товар "V458 Лос" принадлежит категории Лосины
    И так по всем товарам
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    Re: Помогите исправить подсчет количества товаров в каждой к

    изучай SQL. это делается в одну команду типа (имена подставь свои):
    Код (Text):
    1. SELECT group_id, COUNT(*) FROM products GROUP BY group_id