За последние 24 часа нас посетили 35009 программистов и 1735 роботов. Сейчас ищут 844 программиста ...

Вывод товаров в определенном заказе

Тема в разделе "PHP и базы данных", создана пользователем RazerVG, 5 ноя 2014.

  1. RazerVG

    RazerVG Активный пользователь

    С нами с:
    5 дек 2013
    Сообщения:
    103
    Симпатии:
    0
    Нужно вывести заказы определенного пользователя и товары в нем их может быть несколько .

    Вот мой вывод

    Код (Text):
    1. <?php
    2.             $id = $_SESSION['id'];
    3.             $orders = get_orders_user_in_shop($id);
    4.  
    5.             foreach($orders as $order):
    6.           ?>
    7.  
    8.             <div class="w-row output_order_cabinet_glav">
    9.               <div class="w-col w-col-3 output_order_cabinet">
    10.                 <div><?=$order['id_order_in_shop']?></div>
    11.               </div>
    12.               <div class="w-col w-col-3 output_order_cabinet">
    13.                 <div><?=$order['data_order']?></div>
    14.               </div>
    15.               <div class="w-col w-col-3 output_order_cabinet">
    16.                 <div><?=$order['status']?></div>
    17.               </div>
    18.               <div class="w-col w-col-3 output_order_cabinet">
    19.                 <div><?=$order['price_order']?></div>
    20.               </div>
    21.             </div>
    22.  
    23.             <div class="w-row naem_column_item_cabinet">
    24.                 <div class="w-col w-col-4">
    25.                     <div>Название товара</div>
    26.                 </div>
    27.                 <div class="w-col w-col-4">
    28.                     <div>Количество</div>
    29.                 </div>
    30.                 <div class="w-col w-col-4">
    31.                     <div>Цена за штуку</div>
    32.                 </div>
    33.             </div>
    34.  
    35.             <?php
    36.                 $id_order = $order['id_order_in_shop'];
    37.                 $items_in_orders = get_items_in_orders($id);
    38.  
    39.                 foreach($items_in_orders as $item_in_order):
    40.             ?>
    41.                 <div class="w-row item_in_order_cabinet">
    42.                     <div class="w-col w-col-4 item_in_order_column_cabinet">
    43.                         <div><?=$item_in_order['name']?></div>
    44.                     </div>
    45.                     <div class="w-col w-col-4">
    46.                         <div class="item_in_order_column_cabinet"><?=$item_in_order['quantity_item_in_order']?></div>
    47.                     </div>
    48.                     <div class="w-col w-col-4">
    49.                         <div><?=$item_in_order['price']?></div>
    50.                     </div>
    51.                 </div>
    52.             <?
    53.                 endforeach;
    54.             ?>
    55.  
    56.           <?
    57.             endforeach;
    58.           ?>
    Вот функции

    Код (Text):
    1.     function get_orders_user_in_shop($id)
    2.     {
    3.         db_connect();
    4.  
    5.         $query = ("SELECT * FROM orders_in_shop WHERE id_client='$id'");
    6.  
    7.         $result = mysql_query($query);
    8.  
    9.         $result = db_result_to_array($result);
    10.  
    11.         return $result;
    12.     }
    13.  
    14.     function get_items_in_orders($id_order)
    15.     {
    16.         db_connect();
    17.  
    18.         $query = ("SELECT name, quantity_item_in_order,price FROM items_in_orders, items_in_shop WHERE id_order_in_shop='$id_order'
    19.                         AND items_in_orders.id_item_in_shop=items_in_shop.id_item_in_shop");
    20.  
    21.         $result = mysql_query($query);
    22.  
    23.         $result = db_result_to_array($result);
    24.  
    25.         return $result;
    26.     }
    27.  
    28.     function db_result_to_array($result)
    29.     {
    30.         $res_array = array();
    31.  
    32.         $count = 0;
    33.  
    34.         while($row = mysql_fetch_array($result))
    35.         {
    36.             $res_array[$count] = $row;
    37.             $count++;
    38.         }
    39.         return $res_array;
    40.     }
    Проблема в том что я захожу под определенным пользователем его заказы выводятся, но товар в них один и он один и тот же. Если я задаю во вложенном запросе id заказка, в котором несколько товаров то все выводиться нормально. Два товара как положено. Как передать значение товара из цикла во вложенный вроде правильно пишу
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    db_connect() в db_result_to_array($result) потеряно (сарказм)
     
  3. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    может надо $id_order ?
     
  4. RazerVG

    RazerVG Активный пользователь

    С нами с:
    5 дек 2013
    Сообщения:
    103
    Симпатии:
    0
    А нам и не нужно там подключаться к БД.

    Все исправил на id_order заработало.

    Спасибо.
     
  5. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а в двух других функциях которые тут же в скрипте вызываются - нужно. тогда почему не нужно в третьем случае?