2012-10-03 56 views
2

我在購買多少個優惠券時多次生成此陣列時出現問題。通過控制器在數據庫中多次添加陣列

現在看起來

$coupon_array = array(
    'user_id'=>$_POST["user_id"], 
    'mergent_id'=>$_POST["merchant_id"], 
    'deals_id'=>$_POST["deal_id"], 
    'order_id'=>$order_id, 
    'secret'=>$secret, 
    'expire_time'=>$time, 
    'create_time'=>$time, 
    'status'=>1 
    ); 

    $this->common_model->insertData('coupon', $coupon_array); 

但我有一個崗位價值,如:

"quantity"=>$_POST["quantity"] 

,我想生產這種X倍。例如:

$quantity x $this->common_model->insertData('coupon', $coupon_array); 

對不起,我的英語,我希望我解釋這一點,因此是可以理解的...;)

一個又一個!當我們插入的優惠券,他們都具有相同的MD5($的祕密),是有可能有也所有不同的代碼......

$secret = md5($secret); 


    $coupon_array = array(
    'user_id'=>$_POST["user_id"], 
    'mergent_id'=>$_POST["merchant_id"], 
    'deals_id'=>$_POST["deal_id"], 
    'order_id'=>$order_id, 
    'secret'=>$secret, 
    'expire_time'=>$time, 
    'create_time'=>$time, 
    'status'=>1 
    ); 

回答

3

好吧,如果我知道你想什麼,你可以使用for,但是這是顯而易見的:

for($i=0; $i<$this->input->post('quantity');$i++) { 
    $coupon_array['secret'] = md5($coupon_array['secret'].$i); 
    $this->common_model->insertData('coupon', $coupon_array); 
} 

另外,不要使用笨$_POST["..."],只能使用$this->input->post('...')因爲它逃脫正常。有關input的更多信息可以查詢here

+0

這應該工作,但我有點不知道爲什麼數量是不是隻是一個數據庫字段 – Rooster

+0

真棒!完美的作品。 –

+0

@JohnB我想了一下自己,但後來才明白,也許每個元素都應該分開處理,比如他有狀態欄,一個顧客購買了10個元素,其中5個被處理並且狀態改變了,而5個元素保持原始狀態。它可能不是最好的設計,但它更容易保持這種方式:) –

0
for ($i=0; $i<$quanity; $i++) { 
     $this->common_model->insertData('coupon', $coupon_array); 
    }