Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Leer arreglo de valores (https://www.clubdelphi.com/foros/showthread.php?t=5949)

__hector 11-12-2003 22:05:48

Leer arreglo de valores
 
Pregunta de preprimaria...

Tengo una tabla con productos, y un input text para actualizar la cantidad de cada producto (especie de shopping cart). Al darle submit, no se como leer e identificar cada uno de los pares variable->valor que debe postear la pagina, los cuales evidentemente pueden ser variables (uno o mas productos)

Algo de codigo ? Es algo bien sencillo supongo, pero no doy.. :D

roman 11-12-2003 22:24:12

Si entiendo bien tienes una tabla html del estilo:

Código PHP:

<table>
  <
tr>
    <
td>Producto</td>
    <
td>Cantidad</td>
  </
tr>
  <
tr>
    <
td>Producto A</td>
    <
td><input type="text"></td>
  </
tr>
  <
tr>
    <
td>Producto B</td>
    <
td><input type="text"></td>
  </
tr>
  <
tr>
    <
td>Producto B</td>
    <
td><input type="text"></td>
  </
tr>
  <
tr>
    <
td align='center' colspan='2'><input type="submit"></td>
  </
tr>
 </
table

esto es, cada producto con un cuadro para indicar la cantidad.

Si pones el atributo "name" de todos los cuadros de texto igual a

cantidades[]

(incluidos los corchetes) entonces el script que procesa el formulario recibirá el arreglo $cantidades. Los índices del arreglo serán números comenzando con 0.

También puedes poner el parámetro "name" como

name="cantidades['prodA']"
name="cantidades['prodB']"
name="cantidades['prodC']"

en los respectivos cuadros de texto de manera que el arreglo $cantidades podrás accederlo con tales índices:

$cantidades['prodA']
$cantidades['prodB']
$cantidades['prodC']

// Saludos

__hector 12-12-2003 17:14:56

Lo resolvi recorriendo el arreglo de campos que trae $HTTP_GET_VARS

Código PHP:

reset$HTTP_GET_VARS );
while( list( 
$campo$valor ) = each$HTTP_GET_VARS ) ) {
    if(
substr($campo01) == "a" && is_numeric(substr($campo12))) {
        
$sql "UPDATE carrito SET Cantidad=".$valor." WHERE CarritoID=".substr($campo1strlen($campo)-1);
        
mysql_query($sql);
    }




La franja horaria es GMT +2. Ahora son las 04:50:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi