Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывести заказы магазина в админку
Форумы портала PHP.SU » » Работа с СУБД » Вывести заказы магазина в админку

Страниц (1): [1]
 

1. Anastasia4 - 02 Сентября, 2016 - 00:00:00 - перейти к сообщению
Здравствуйте! Я новичок. Пишу магазин на PHP. Все сделала, но не получается вывести заказы должным образом для просмотра.
Код прилагаю. Пишу на примитивном процедурном php даже без функций, потому что и так не могу понять, как правильно все вывести.

Есть 2 таблицы:
1) Таблица заказов orders с полями id_order, name_order (имя заказчика), e-mail (мейл заказчика), phone, address, customer (номер заказа из сессии), id_good (id товара), quantity (кол-во товара), datetime (дата заказа).
2) Таблица товаров good, в которой находятся id_good, name_good и другие поля.

Я ХОЧУ ВЫВЕСТИ ЗАКАЗЫ ТАКИМ ОБРАЗОМ:
Идентификатор заказчика: 18qskgmvp0i4133sbqfct1c0j3
Имя заказчика: Коля
E-mail: kolia@mail.ru
Телефон: 99999999999999
Адрес: г. Воркута, ул. Медведей, 77
Дата заказа: 31-08-2016 19:21:37

Наименование товара: Товар 4 Категория 1
Количество: 4
Цена: 5 руб.
Сумма: 20 руб.

Наименование товара: Товар 3 Категория 1
Количество: 1
Цена: 4 руб.
Сумма: 4 руб.

А У МЕНЯ ПОЛУЧАЕТСЯ ВЫВЕСТИ ТОЛЬКО ТАК:
Идентификатор заказчика: 18qskgmvp0i4133sbqfct1c0j3
Имя заказчика: Коля
E-mail: kolia@mail.ru
Телефон: 99999999999999
Адрес: г. Воркута, ул. Медведей, 77
Дата заказа: 31-08-2016 19:21:37

Наименование товара: Товар 4 Категория 1
Количество: 4
Цена: 5 руб.
Сумма: 20 руб.

Идентификатор заказчика: 18qskgmvp0i4133sbqfct1c0j3
Имя заказчика: Коля
E-mail: kolia@mail.ru
Телефон: 99999999999999
Адрес: г. Воркута, ул. Медведей, 77
Дата заказа: 31-08-2016 19:21:37

Наименование товара: Товар 3 Категория 1
Количество: 1
Цена: 4 руб.
Сумма: 4 руб.

Как вывести заказы, что реквизиты заказчика повторялись один раз, а под ними выводились все заказанные товары?

КОД:

<?php

require_once 'blocks/db.php';


global $link;
$sql_order = "SELECT * FROM orders"; // вывод данных заказчика
$query_order = mysqli_query($link, $sql_order) or die(mysqli_error($link));
$num_order = mysqli_num_rows($query_order);



for($i = 0; $i <= $num_order; $i++){
$row_order = mysqli_fetch_assoc($query_order);
echo '<h4>Идентификатор заказчика: '
.$row_order['customer'].'<br />Имя заказчика: '.$row_order['name_order'].'<br />E-mail: '.$row_order['email'].'<br />Телефон: '
.$row_order['phone'].'<br />Адрес: '.$row_order['address'].'<br />Дата заказа: '.date("d-m-Y H:i:s", $row_order['datetime']).
'</h4>';
echo '<br />';

$id_good = $row_order['id_good'];

$sql_good = "SELECT * FROM goods WHERE id_good = '$id_good'"; // вывод товаров
$query_good = mysqli_query($link, $sql_good) or die(mysqli_error($link));

while($row_good = mysqli_fetch_assoc($query_good)){
echo 'Наименование товара: '.$row_good['name_good'];
echo '<br />';
echo 'Количество: '.$row_order['quantity'];
echo '<br />';
echo 'Цена: '.$row_good['price_good'].' руб.';
echo '<br />';
$sum = $row_good['price_good']*$row_order['quantity'];
echo 'Сумма: '.$sum.' руб.';
echo '<br />';

}
echo '<hr />';

}

?>
2. arr1 - 04 Сентября, 2016 - 19:20:11 - перейти к сообщению
А зачем ты реквизиты циклом выводишь?

 

Powered by ExBB FM 1.0 RC1