Foros del Web » Programando para Internet » PHP »

Problema con array de input=text

Estas en el tema de Problema con array de input=text en el foro de PHP en Foros del Web. Tengo un sistema simple de galeria el cual genera un array de input=text el cual se asigna un imput a cada imagen. Mi problema es ...
  #1 (permalink)  
Antiguo 02/09/2009, 10:39
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Pregunta Problema con array de input=text

Tengo un sistema simple de galeria el cual genera un array de input=text el cual se asigna un imput a cada imagen.

Mi problema es que tengo que recuperar el valor de cada array de inputs para cada imagen.

Lo que tengo en pantalla es lo siguiente:
Código HTML:
Ver original
  1. <img src=""/>
  2. <input width="50px" type="text" name="order[]"/>
  3. <input type="hidden" value="12" name="ids[]"/>
  4.  
  5. <img src=""/>
  6. <input width="50px" type="text" name="order[]"/>
  7. <input type="hidden" value="7" name="ids[]"/>
  8.  
  9. <img src=""/>
  10. <input width="50px" type="text" name="order[]"/>
  11. <input type="hidden" value="36" name="ids[]"/>

El problema es que no se como capturar de vuelta que el item del array ids[] corresponde con dicho item en order[].

y el codigo que tengo es:
Código PHP:
foreach ($_POST['ids'] as $imageID){
        
            if(!
$this->check_post($poolID$imageID)){
                
$database->execute("
                    INSERT INTO pool_images
                        (pool_id, image_id, order_id)
                    VALUES
                        (?, ?, ?)"
,
                    array(
$poolID$imageID$orderID));
            }
            
        } 
Lo que faltaria es sacar el valor de $_POST['order'] que corresponda a ese id de imagen pero sinceramente no encuentro forma de como hacerlo.
  #2 (permalink)  
Antiguo 02/09/2009, 10:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con array de input=text

Puedes usar un array doble:
Código HTML:
Ver original
  1. <input width="50px" type="text" name="imgs[0][]"/>
  2. <input type="hidden" value="12" name="imgs[0][]"/>

Así ciclas la matriz:
Código PHP:
Ver original
  1. foreach ($_POST['imgs'] as $data) {
  2.       list ($order, $id) = $data;
  3.  
  4.       echo $order;
  5.       echo $id;
  6. }

Saludos.
  #3 (permalink)  
Antiguo 02/09/2009, 10:48
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Problema con array de input=text

Oh muchisimas gracias, no tenia en cuenta eso :P
  #4 (permalink)  
Antiguo 02/09/2009, 16:55
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Problema con array de input=text

Cita:
Iniciado por GatorV Ver Mensaje
Puedes usar un array doble:
Código HTML:
Ver original
  1. <input width="50px" type="text" name="imgs[0][]"/>
  2. <input type="hidden" value="12" name="imgs[0][]"/>

Así ciclas la matriz:
Código PHP:
Ver original
  1. foreach ($_POST['imgs'] as $data) {
  2.       list ($order, $id) = $data;
  3.  
  4.       echo $order;
  5.       echo $id;
  6. }

Saludos.
Sabes que sigo teniendo el mismo problema, no me hace la insersion de los balores correctamente con tu ejemplo.

Esto es lo que se envia mediante post con tu ejemplo
Código:
imgs[0][]	1
imgs[0][]	12
imgs[0][]	2
imgs[0][]	11
imgs[0][]	3
imgs[0][]	10
imgs[0][]	4
imgs[0][]	9
imgs[0][]	5
imgs[0][]	8
imgs[0][]	6
imgs[0][]	7
imgs[0][]	7
imgs[0][]	5
imgs[0][]	8
imgs[0][]	4
imgs[0][]	9
imgs[0][]	2

Última edición por seinkraft; 02/09/2009 a las 17:00
  #5 (permalink)  
Antiguo 02/09/2009, 18:23
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Problema con array de input=text

Ya lo soluciones, gracais de todas formas, el problema era que el primer array siemrpe era 0.

Código PHP:
$n
foreach($images as $pair) {                                

            
$pool_images .= '<br><input name="imgs['.$n.'][]" type="text" width="50px" />'.
                        
'<input name="imgs['.$n.'][]" type="hidden" value="'.$image->id.'" />';
        
$n $n+1;
        } 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:40.