Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/05/2011, 16:35
angelfcm
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: insertar en datatabase solo filas no vacias...

Como yo entendí es que si esta activado el checkbox entonces es una "F" de lo contrario es "D" ya sea por que no esta ese checkbox o por que no fué seleccionado.
Mira te dejo como yo creo que debería de funcionar, incluso te resumí algunas cosas para que no sea tanto codigo porque es algo tedioso.

Código PHP:
<?php
 
include ("conexion.php"); 
///////////////////////////////////////////////////////////////////////////////////////////////////////////// 
# post & checkbox

 
$nota3 $_POST['nota3']; 
 
$val $_POST['val']; 
 
$juicio $_POST['juicio']; 
 
$numChecks=14// Cantidad de checks que tienes
 /*La siguiente variable almacenará los datos de los checks que se insertaran en mysql, ej: c1='F', c2='D'...*/
 
$consultaChecks="";
 for(
$x=1;$x<=$numChecks;$x++){
 
/*La siguiente sentencia crea una variable llamada $actual que almacena "F" o 
"D" dependiendo del valor del check */
  
eval("\$actual=\$_POST[c".$x."]?'F':'D';");
  if(
$consultaChecks)
   
$consultaChecks.=", c".$x."='".$actual."'";
  else
   
$consultaChecks="c1='".$actual."'";
 }
//Ahora $consultaChecks tiene el contenido de la consulta para los checks
/////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
# valoracion 
// Aquí solo simplifique por si te gusta así o igual ponlo como tu lo tenias.
 
$val=($nota3!="" && $nota3<3.0)?
      
"bajo":
      (
       (
$nota3>=3.0 && $nota3<=3.6)?
       
"básico":
       (
        (
$nota3>=3.7 && $nota3<=4.3)?
        
"alto":
        
"superior"
       
)
      ); 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
# update 

$sql "UPDATE SEXTO_A_MAT SET ".$consultaChecks.", 
        nota3='$nota3', val='$val' , juicio='$juicio'  
        WHERE id=1"

$result mysql_query($sql);   
 
mysql_close(); 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
echo "<center> datos insertados con exito </center>"
?>
Saludos

Última edición por angelfcm; 03/05/2011 a las 16:44