Ver Mensaje Individual
  #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, 6 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.