2013-08-31 9 views
0

PHP - вставляя в XAMPP/MysqlPHP - вставить то же поле в MySQL

РМКО базы данных продукт решений со вставкой PHP как этот

$save_sale = mysql_query("INSERT INTO sale(no_receipt,no_confirm,time,date,day,total) values 
     ('$_POST[no_receipt]', 
      '$_POST[no_confirm]', 
      '$hour_now', 
      '$date_now', 
      '$day_now', 
      '$_POST[total]')") 
     or die(mysql_error()); 
    $save_sale_detail = mysql_query("INSERT INTO sale_detail(no_receipt,id_product,quantity,price,subtotal) values 
     ('$_POST[no_receipt]', 
      '$_POST[id_product]', 
      '$_POST[quantity]', 
      '$_POST[price]', 
      '$_POST[subtotal]')") 
     or die(mysql_error()); 

, но это только сохранить одну транзакцию каждый раз, когда я представить multipple заказ продукта с разным количеством, ценой и промежуточным итогом. я имел в виду что-то вроде в продаже экономии и создать no_receipt, а затем sale_detail создать no_receipt слишком следующие продаж. пример: Продажа

 No. Receipt = 001 
    No. Confirm = 205850 <-- it just confirmation order 
    hour   = 17.00 
    date   = 31/08/2013 
    day   = saturday 
    total  = $770 <-- subtotal calculation 

    sale_detail 
    No. Receipt = 001 
    id_product = 1 <-- let say it's a hat 
    quantity  = 3 
    price  = $150 <-- price by each product 
    subtotal  = $450 <-- price * quantity 
    ----- and come other product order --- 
    sale_detail 
    No. Receipt = 001 
    id_product = 4 <-- let's say it's a glasses 
    quantity  = 4 
    price  = $80 <-- price by each product 
    subtotal  = $320 <-- price * quantity 
    ----- and come other.. --------------- 

, но я застрял и просто может экономить одну транзакцию, если продажа _detail успех экономии, то продажа еще пуста.

любая помощь будет признателен ..

+0

Вы получили какую-либо ошибку .. – Mani

+1

Я знаю, что вы, вероятно, просто создали сценарий, и это не ответит на ваш вопрос. НЕ отправляйте сообщение непосредственно в MySQL, убедитесь, что вы очистили сообщение до того, как вставляете данные. Этот скрипт будет легко введен для вашей информации. :) – chillers

+0

это просто собственный скрипт, чем мой оригинал, – ZeCo

ответ

0

Вам нужно, чтобы отправить за продукт детали в виде массива. В разметке вы использовали бы <input name="id_product[]"..../>

Это будет получено в PHP как массив (echo gettype($_POST['id_product']) выведет array).

Затем вы можете выполнить цикл с помощью foreach ($_POST['id_product'] as $id) или что-то еще и вызвать ваш запрос INSERT INTO sale_detail... несколько раз (один раз на итерацию цикла).

Обратите внимание, что вы только хотите поместить [] в атрибут name значений, которые фактически являются предметом. Например, поле no_invoice представляет собой одно значение, а не массив, поэтому вы просто используете name="no_invoice", а не name="no_invoice[]".

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