2012-10-03 1 views
2

Je rencontre un problème lors de la génération de ce tableau plusieurs fois sur le nombre de coupons achetés.Ajout d'un tableau plusieurs fois dans la base de données via le contrôleur

Maintenant, il ressemble à

$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); 

Mais j'ai une valeur de poste tels que:

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

et je voudrais produire ce X fois. Exemple:

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

Désolé pour mon anglais, et j'espère expliquer cela il est donc compréhensible ...;)

Un autre! lorsque nous insérons les coupons qu'ils ont tous le même md5 (secret $), est-il possible d'avoir ce aussi avec tous les différents codes ...

$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 
    ); 

Répondre

3

Eh bien, si je comprends ce que vous voulez, vous pouvez utiliser for, mais c'est évident:

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

aussi, ne jamais utiliser $_POST["..."] dans CodeIgniter, utilisez uniquement $this->input->post('...') comme il échappe correctement. Plus d'informations sur input classe peut être trouvé here.

+0

cela devrait fonctionner mais je me demande pourquoi la quantité n'est pas seulement un champ de base de données – Rooster

+0

Awesome !, fonctionne parfaitement. –

+0

@JohnB Je me demandais un peu, mais alors j'ai compris que peut-être chaque élément devrait être traité séparément, comme s'il avait un champ de statut, un client achète 10 éléments, dont 5 sont traités et ont un statut changé . Ce n'est peut-être pas le meilleur design, mais il est plus facile de le maintenir :) –

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