1 (изменено: lilka, 2013-03-07 16:16:59)

Тема: Помогите пожалста отправить в БД не по одному товару а массив с товара

if($_SESSION['cart'] && isset($_POST['orders']))
{
foreach($_POST as $ArrKey => $ArrStr)
{
$ArrKey = clear_data($_POST[$ArrKey]);
}
$date = date('Y-m-d');
$time = date('H:i:s');

foreach($_SESSION['cart'] as $id => $quantity):
$product = get_product($id);
$query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['name']}','{$product['url']}','{$product['price']}','$quantity')");
endforeach;

echo "<p>Ваш заказ успешно принят! </p>";
unset($_SESSION['cart']);

2

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

В чем заключаются сложности?

3

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

К примеру я заказала 3 товара, в бд попадает только по одному товару три разные строки, а мне надо чтоб под одним ID высвечивались все три товара, то есть 1 строка а не 3. Потому что при выводе в админку я не могу их собрать. А еще надо в печать. Вообщем сложно мне))))...

4

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

Сделайте для заказанных товаров связанную таблицу, таким образом в таблице заказа у вас будет его время, идентификатор и другие нужные данные; в таблице заказанных товаров будет идентификатор заказа (из таблицы заказов), наименование товара, количество, цена, и что-то еще. При выборе данных заказа соберите заказанные товары.

5

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

Связала 2 таблицы. Все равно у меня получается разный ID у каждого товара, не пойму что не так.

    $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time')");
    $result = mysql_query($query);
    $order_id = mysql_insert_id();
    $query = mysql_query("INSERT INTO items(order_id,product,price,qty) VALUES ('$order_id','{$product['name']}','{$product['price']}','$quantity')");
    $result = mysql_query($query);

    endforeach;

6

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

Уберите лишнюю строку.

 $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time')");
//    $result = mysql_query($query); // Лишняя строка!
    $order_id = mysql_insert_id();
    $query = mysql_query("INSERT INTO items(order_id,product,price,qty) VALUES ('$order_id','{$product['name']}','{$product['price']}','$quantity')");
    $result = mysql_query($query);

7

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

Убрала. Все равно. Заказала 2 товара(тест), в orders попадают 2 строки под разными id, но с одинаковым полем имя, фамилия..... А в items попадают эти два товара тоже с разными id. Единственное order_id совпадает в обоих таблицах, но не в товарах. В товарах все таки разные. И невозможно сделать выборку. Может тип поля order_id поменять? Чтоб у товаров хоть они и на разных строчках был order_id одинаковый?

8

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

По идее мне нужно чтобы в orders поступила одна строчка с id заказа. А в items поступили два товара, под разным id но с одинаковым order_id. Как это сделать, подскажите пожалста.

9

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

lilka сказал:

По идее мне нужно чтобы в orders поступила одна строчка с id заказа. А в items поступили два товара, под разным id но с одинаковым order_id. Как это сделать, подскажите пожалста.

Так и будет работать, если вы сделаете один раз запись в таблицу orders и две записи в таблицу items.

10

Re: Помогите пожалста отправить в БД не по одному товару а массив с товара

Спасибо большое, вопрос решен, поменяла все местами, теперь все как надо))))) будем делать выборку big_smile