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 originalNombre del producto: $rows['nom_producto']
<br /><input type="checkbox" name="chks[]" id="chk[]" value=\"".$rows['codigo']."\" /> <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.