Paypal dan sonrası dizi kullanarak

1 Cevap php

Ben sitemde ödemeleri işlemek için paypal kullanıyorum. Paypal gibi sonrası dizi döndürür

[item_number1] =12
[item_name1] = My product name
[quantity1] =3
[item_number2] =14
[item_name2] = My product name2
[quantity2] =5
[num_cart_items] 2

Burada adım artık sadece hiçbir yerde elde çevrelerinde im gidiş takın

Ve sonra döngü için çalıştırın

for($i = 1;$i <= $num_cart_items ;$i++){
		$x = 'item_number' . $i;
		$y = 'item_name' . $i;
		$z = 'quantity' . $i;


		$new_amount = $row['stock_quantity'] - $$z;
		$db->update1_by_match('cart_products','stock_quantity',$new_amount,'id',$$x);

	}

Bu değişken değişkenler ile sorun yaşıyorsanız Im. Bunu yapmak için daha iyi bir yolu var mı?

Thanks Andrew

1 Cevap

Ben, örneğin, doğrudan $ _POST kullanmak için revize edilmiş kodu değiştirmek istiyorum

for($i = 1;$i <= $_POST['num_cart_items'] ;$i++){

   $item_number= intval($_POST['item_number' . $i]);
   $item_quantity= intval($_POST['quantity' . $i]);

   printf("DEBUG: item %d item:%d quantity:%d<br>", $i, $item_number, $item_quantity);

   $new_amount = $row['stock_quantity'] - $item_quantity;
   $db->update1_by_match('cart_products','stock_quantity',$new_amount,'id', $item_number);

}

Teşhis çıkışı şeyler sizin için nereye gidiyorsun rafine yardımcı olmalıdır.

EARLIER QUESTION - Aşağıdaki notlar da tam revizyon öncesi soruya oldu bakın o yaptı.

Ne gerçekten ihtiyacınız oldukça değişken değişkenleri kullanmaya çalışırken daha bir dizidir

$item_numbers=array(24, 16);

foreach ($item_numbers as $item_number) {
    $result = $db->get_cols_by_match('cart_products','stock_quantity','id', $item_number);
}

, Eğer bunu yaptıklarını şekilde yapmak için bu gibi bir şey açıklamak olabilir

$item_number1='24';
$item_number2='16';
$num_cart_items = 2

for($i = 1;$i <= $num_cart_items ;$i++){                
    $varname='item_number' . $i;
    printf("DEBUG: %s = %s<br>", $varname, $$varname);

    $result = $db->get_cols_by_match('cart_products','stock_quantity','id', $$varname);
}

$ $ Değişkenadı a variable variable bir örnektir, ama sizin durumunuzda bir dizi çok daha net bir şekilde niyet beyan eder.