Pregunta

Estoy usando PayPal para procesar los pagos en mi sitio. Paypal devuelve la matriz de mensajes como

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

Insertar el paso aquí ahora, simplemente voy en círculos sin llegar a ninguna parte

Y luego ejecuta el bucle for

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

    }

Estoy teniendo problemas con estas variables variables. ¿Hay una mejor manera de hacer esto?

Gracias Andrew

¿Fue útil?

Solución

Cambiaría tu código revisado para usar $ _POST directamente, por ejemplo

for($i = 1;$i <= 

Cambiaría tu código revisado para usar $ _POST directamente, por ejemplo

$item_numbers=array(24, 16);

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

La salida de diagnóstico debería ayudarlo a refinar a dónde van las cosas por usted.

PREGUNTA ANTERIOR : las notas a continuación hacen referencia a la pregunta antes de realizar una revisión completa de la misma.

Lo que realmente necesitas es una matriz, en lugar de intentar usar variables variables

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

Para hacerlo de la manera en que lo estabas haciendo, algo como esto podría aclararlo

<*>

El $$ varname es un ejemplo de variable variable , pero en su caso, una matriz declara su intención de una manera mucho más clara.

POST['num_cart_items'] ;$i++){ $item_number= intval(

Cambiaría tu código revisado para usar $ _POST directamente, por ejemplo

<*>

La salida de diagnóstico debería ayudarlo a refinar a dónde van las cosas por usted.

PREGUNTA ANTERIOR : las notas a continuación hacen referencia a la pregunta antes de realizar una revisión completa de la misma.

Lo que realmente necesitas es una matriz, en lugar de intentar usar variables variables

<*>

Para hacerlo de la manera en que lo estabas haciendo, algo como esto podría aclararlo

<*>

El $$ varname es un ejemplo de variable variable , pero en su caso, una matriz declara su intención de una manera mucho más clara.

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

Cambiaría tu código revisado para usar $ _POST directamente, por ejemplo

<*>

La salida de diagnóstico debería ayudarlo a refinar a dónde van las cosas por usted.

PREGUNTA ANTERIOR : las notas a continuación hacen referencia a la pregunta antes de realizar una revisión completa de la misma.

Lo que realmente necesitas es una matriz, en lugar de intentar usar variables variables

<*>

Para hacerlo de la manera en que lo estabas haciendo, algo como esto podría aclararlo

<*>

El $$ varname es un ejemplo de variable variable , pero en su caso, una matriz declara su intención de una manera mucho más clara.

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

La salida de diagnóstico debería ayudarlo a refinar a dónde van las cosas por usted.

PREGUNTA ANTERIOR : las notas a continuación hacen referencia a la pregunta antes de realizar una revisión completa de la misma.

Lo que realmente necesitas es una matriz, en lugar de intentar usar variables variables

<*>

Para hacerlo de la manera en que lo estabas haciendo, algo como esto podría aclararlo

<*>

El $$ varname es un ejemplo de variable variable , pero en su caso, una matriz declara su intención de una manera mucho más clara.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top