Comunidad de diseño web y desarrollo en internet online

Ayuda con textbox y checkbox asociados

Citar            
MensajeEscrito el 02 Ago 2012 11:31 pm
Estimados:
Tengo un problema que me tiene complicado, que es con respecto a la asociacion de textbox acuerdo a un checkbox "chequeado"

index.php

Código PHP :

<tr>
<td align="center"><input type="checkbox" name="venta[]" value="<?php echo $row[0];?>"/></td>
<td align="center" colspan="2"><input type="textbox" name="cant[]" size="3" value="<?php echo $row['cant_vendido'];?>"/></td>
</tr>
el value del checkbox es la id de una venta, y el value del textbox es la cantidad de productos que se vendio en dicha venta


respuesta.php

Código PHP :

include("conexion.php");
$i = 1;
foreach($_POST['venta'] as $id_mayor){
         if(isset($_POST['venta'])){    
                 echo "ID Venta Asociado = ".$id_mayor." con ".$_POST['cant'][$i]." unidades <br/>";
                 $i++;
        
         }else{
                 $i++;
         }
}


en respuesta.php llegan los textbox con sus respectivos checkbox asociados, y para filtrar los que no fueron seleccionados hice la sentencia que se muestra mas arriba , pero tengo el siguiente problema:
Si tengo 4 checkbox con sus respectivos textbox y estos tienen valores [5,5,2,2] y si selecciono los 2 primeros se muestran los que corresponden pero si selecciono los ultimos 2, no salen ambos 2, sino un 5 y un 2... Que puede ser ???

Por Pabloco1990

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Ago 2012 06:04 pm
Si es el codigo que usas hay algo que no entiendo...

Código PHP :

<input type="textbox" name="cant[]" size="3" value="<?php echo $row['cant_vendido'];?>"/>


por que en el atributo "name" pones cant[] en ves de "<?php echo $cant[] ;?> ???

podrias ver tambien con firebug o simplemente viendo el codigo fuente cual es el verdadero "name" de los chekbox que creaste., quisa se duplican y por ello te pasa el dato mal

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 07 Ago 2012 11:25 pm

elporfirio escribió:

Si es el codigo que usas hay algo que no entiendo...

Código PHP :

<input type="textbox" name="cant[]" size="3" value="<?php echo $row['cant_vendido'];?>"/>


por que en el atributo "name" pones cant[] en ves de "<?php echo $cant[] ;?> ???

podrias ver tambien con firebug o simplemente viendo el codigo fuente cual es el verdadero "name" de los chekbox que creaste., quisa se duplican y por ello te pasa el dato mal

:), ese name="cant[]" indica que en es un array , su usop es muy comun cuando uno tiene un listado y quiere asociar ciertos datos a ese listado
como seria

Código :

item[1][name]
item[1][cantidad]

item[2][name]
item[2][cantidad]

un formulario con los inputs correctamente puestos con esos nombres generaria un array que php lo interpretaria co los valores

Código PHP :

array(
   array('name' => 'cualquier dato' , 'cantidad' => '1' ),
   array('name' => 'cualquier dato 2' , 'cantidad' => '2' )
)

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.