Foros del Web » Programando para Internet » PHP »

Checkbox y Input Text php

Estas en el tema de Checkbox y Input Text php en el foro de PHP en Foros del Web. Saludos comunidad, les saludo de nuevo ahora con un problema que me esta tomando un tiempo entenderlo. No estoy muy metido en los checkbox ya ...
  #1 (permalink)  
Antiguo 21/02/2011, 20:33
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 4 meses
Puntos: 3
Checkbox y Input Text php

Saludos comunidad, les saludo de nuevo ahora con un problema que me esta tomando un tiempo entenderlo. No estoy muy metido en los checkbox ya que casi nunca lo he utilizado. Pero esta vez estoy en la necesidad de usarlo.

Tengo en un bucle el siguiente codigo que muestra una lista de productos. Tambien le agrega un checkbox y un input text. Si el visitante desea agregar cierto producto a su lista de cotizacion, selecciona el chk y escribe en el cuadro de texto y eso se guarda en la database.


Código HTML:
Ver original
  1. Nombre del producto: $rows['nom_producto']<br />
  2. <input type="checkbox" name="chks[]" id="chk[]" value=\"".$rows['codigo']."\" />
  3. <input type="text" size = "3" name="cantidad[]" value="">


Pero que pasa si selecciona un chk y el texto lo deja en blanco y mas abajo selecciona ingresa el texto pero no selecciona el chk
Código:
http://img98.imageshack.us/img98/7226/chko.jpg





Toma el chk vacio con el texto vacio....ya que lo uno con un for, con este codigo.

Código PHP:
$chk $_POST['chk'];
$cantd $_POST['cantd'];

$ncantd count($cantd);

$j=0;

for(
$i=0;$i<$ncantd;$i++)
{
    if(
strlen($cantd[$i])>0)
    {
        
$cantidad[$j] = $cantd[$i];
        
$j++;
    }
}

$nchk count($chk);

for(
$i=0;$i<$nchk;$i++)
{
    
$cod $chk[$i];
    
$carro_pro[$cod]['codproducto']    = $chk[$i];
    
$carro_pro[$cod]['cantidad']    = $cantidad[$i];
}


foreach(
$carro_pro as $valor)
{
    
$sql "select cod_prod,nom_prod,unidad from producto where cod_prod = '".$valor['codproducto']."'";
    
$rs mysql_query($sql);
    if(
$row mysql_fetch_array($rs))
    {
        echo 
$row['cod_prod'] . "\n";
        echo 
$row['nom_prod'] . "\n";
        echo 
$row['unidad'] . "\n";
        echo 
$valor['cantidad'] . "\n";
    }

Como haria para comprobar que cada checkbox este con su text y que el chk vacio no tome el valor de un text sin chk como en la imagen.
  #2 (permalink)  
Antiguo 21/02/2011, 20:59
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 7 meses
Puntos: 103
Respuesta: Checkbox y Input Text php

no es correcto el texto html
Código HTML:
Ver original
  1. Nombre del producto: $rows['nom_producto']<br />
  2. <input type="checkbox" name="chk" id="chk" value=\"".$rows['codigo']."\" />
  3. <input type="text" size="3" name="cantidad" />
  #3 (permalink)  
Antiguo 21/02/2011, 21:37
 
Fecha de Ingreso: noviembre-2003
Ubicación: Chihuahua
Mensajes: 17
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Checkbox y Input Text php

Saludos, yo tuve un problema similar al tuyo. al final lo que hice fue cambiar el nombre de array (name="chks[]") a uno único por ejemplo
Código:
name="chks<? echo $x;?>"
y ya con la $x relacionaba las variables enviadas.
  #4 (permalink)  
Antiguo 24/02/2011, 21:00
Avatar de CCB
CCB
 
Fecha de Ingreso: noviembre-2009
Ubicación: Perú
Mensajes: 65
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: Checkbox y Input Text php

Se supone que son varios chk que se imprimen osea seria chk[]. Ahora sobre poner un id a cada chk seria mucho codigo pero creo que no me quedara de otra.

Alguien ya ha realizado este tipo de trabajos.
  #5 (permalink)  
Antiguo 24/02/2011, 21:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Checkbox y Input Text php

Hola, pues podrias realizarlo asignando los nombres diferentes pero por lo que dices podria ser complicado, estas limitado al uso de solo PHP, se me ocurre que con un poco de javascript podrias resolver tu problema, he hecho algunas cosas parecidas y alguna vez me tope con el mismo problema, si aun es tiempo puedo tomarme el tiempo para explicarlo.

Saludos,

Etiquetas: checkbox, input, txt
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 00:42.