2012-02-23 12 views
0

同じ商品の2つを追加すると、両方がカートに入れられますが、1つだけがショッピングカートシステムに表示されますユーザーが購入をクリックするとデータベースに追加されます。ショッピングカートでは、同じIDを持つ2つの商品をデータベースに追加しません

これが正確に何であるかわかりません。私のコードは、POST [購入]とIF文の論理が戻ってありますので、はで終わるように設計されています

if($_POST['purchase']) { 

     foreach($cart->get_contents() as $item) { 

      $sql="INSERT INTO wp_scloyalty_orders VALUES (".$user_id.", ".$item['id'].", NOW())"; 

      if($result=mysql_query($sql)){ 

       $confpurchase = '?confpurchase=success&id='.$item['id'].''; //USING THE URL FOR MESSAGE PASSING... ONLY IF THE PRODUCT WAS INSERTED INTO THE DATABASE! 

      } 

     } 

     $cart->empty_cart(); 

     unset($_SESSION['cart']); 

     header("Location: ".$_SERVER['PHP_SELF']."/my-account".$confpurchase); 
     exit; 


}  

が、それはmysqlのようなもので行うことです文句を言わない、同じ行の二つが一つのループでデータベースに入力しましょうか何か?同じ製品を複数回追加した場合、ユーザーIDとitemIDは同じになります。

ありがとうございます!

EDITをループするとき--------------------------------

OKアイブが、私のミスを実現あなたが私がitemIDとitemQTY(数量)を引っ張るつもりであるカートの内容。私は同じIDを複数回表示するのをやめることだと思います。 100のIDを持つ2つの製品がある場合、これはと、/

foreach($cart->get_contents() as $item1) {   
    echo $item1['id']; 
    echo $item1['qty']; 

}たとえば

:これはまだ私にかかわらず、データベースに同じ項目の多くを入力することができないという問題を与えます1002

感謝の人々:)あなたのDB内いずれか1つのフィールドにUNIQUE制約を持っているようですね

+0

テーブルの構造をどうぞ。 –

+0

申し訳ありません、ive私の問題を見つけた後に私の質問を編集... – JamesG

+0

これらのフィールドのいずれかのDBのUNIQUE制約はありましたか? –

答えて

1

をエコー。

0

私はあなたの特定のショッピングカートはどのように動作するか分からないが、論理的に、あなたは、数量欄を持っており、ちょうどあなたの編集を見て2など

EDIT にそれを変更する必要があります。これを無視してください。

関連する問題