Mi problema es que tengo un formulario que ingresando un codigo que este en la bd, realize una consulta y me muestre los datos completo en otro formulario, y me muestre los checkbox asociados a ese documento.
Cuando deseo actualizar los checkbox no me los actualiza!!!! por que!!!!
este es mi problema como puedo hacer para actualizar los checbox
Aqui les dejo el codigo!!
Formulario ActualizarDocumento.php el que me pide el documento
Código PHP:
Ver original
<BODY> <div style="text-align: right;"><a href="CerrarSecion.php"><h6>Cerrar Sesion</h6></a></div> <center><h2>CARGA DEL DOCUMENTO</h2><center> <h3>Aqui usted podra actualizar los datos del documento, debe ingresar el codigo del documento.</h3> <!-- Se crea el formulario, con metodo via POST, direccionando a InsertarArchivoLuce.php indicando que retorne la funcion validar() --> <form action="ActuArchivo.php" method="POST" enctype="multipart/form-data" name="form1" onSubmit="return validar()"> <center><h3><a href="CargarDocumento.php"> Devolver</a></h3></center> <center><br><table border ='2'> <tr> <td> <center><IMG SRC="imagenes/LOGO.jpg" WIDTH=120 HEIGHT=100></center> <h3><center>DATOS DEL DOCUMENTO</center></h3> </td> <td><br> <!-- Se crean 3 campos de texto, uno para codigo, otro para nombre, otro version del documento. --> <center><h4><font color="red"><b>*</b></font> Codigo del Documento: <input type="text" name="codigo" id="codigo" size="27" /></h4></center> <center><p align="center"><input name="boton" type="submit" id="but" onclick="javascript:Valida()" id="boton" value="ENVIAR"> <input name="boton" type="reset" id="boton" value="LIMPIAR"></p></center> </td> </tr> </form> </body>
formulario ActuArchivo.php este es el formulario que me muestra la consulta segun el documento.
Código PHP:
Ver original
<body> <?php require("Conexion.php"); $codi=$_POST['codigo']; $result = mysql_query($q_doc,$Conexion) or die ("Error en la consulta en la pagina carga_doc " .mysql_error()); // validar si hay registros if($num_rows >0 ){ ?> <div style="text-align: right;"><a href="CerrarSecion.php"><h6>Cerrar Sesion</h6></a></div> <center><h2>ACTUALIZAR DOCUMENTO</h2><center> <form action="InsetaActu.php" method="POST" name="form"> <center><h3><a href="CargarDocumento.php"> Devolver</a></h3></center> <center><br><table border ='2'> <tr> <td> <center><IMG SRC="imagenes/LOGO.jpg" WIDTH=120 HEIGHT=100></center> <h3><center>DATOS DEL DOCUMENTO</center></h3> </td> <td><br> <center><h4><font color="red"><b>*</b></font> Codigo del Documento: <input type="text" name="codigo" id="codigo" size="27" value="<?php echo $reg_doc->Codigo;?>"/></h4></center> <center><h4><font color="red"><b>*</b></font> Nombre del Documento: <input type="text" name="Nombre" id="Nombre" size="25" value="<?php echo $reg_doc->Nombre;?>" /></h4></center> <center><h4><font color="red"><b>*</b></font> Version del Documento: <input type="text" name="Version" id="Version" size="26" onKeyPress="return acceptNum(event)" value="<?php echo $reg_doc->Version;?>"/></h4></center> <!-- Se crea un campo tipo file, en este se guardara la ruta del archivo --> <center><p align="center"><h4><font color="red"><b>*</b></font> Archivo <input name="archivo" type="file" id="archivo" size="30"> </h4></center> <!-- Se crea una lista desplegable la cual se llena con una consulta a mysql --> <h4><font color="red"><b>*</b></font> Area Correspondiente:<br><br><?php //Se necesita el archivo Conexion.php para que se pueda realizar la consulta require("Conexion.php"); $q_areas = "SELECT * FROM `area`"; // consulta para traer las areas correspondientes al documento $q_areas_doc=sprintf("SELECT * FROM `area` a INNER JOIN `area_documento` ad ON ad.`Cod.Area`=a.`Cod.Area` WHERE ad.`Cod.Doc` ='%s' AND a.`Cod.Area`=%s", $reg_doc->Codigo, $reg_area['Cod.Area']); if($num_area_doc > 0){ // recorremos el resultado ?> <input type="checkbox" name="Area[]" checked="checked" /><?php echo $reg_area['Nombre_Area']?><br /> <?php }// fin del while areas doc }else{ ?> <input type="checkbox" name="Area[]"/><?php echo $reg_area['Nombre_Area']?><br /> <?php }// fin del while areas documento }// fin del while areas ?> <br> Nota: <font size="2">Las areas marcadas son las correspondientes al documento</font> <br /> <center><p align="center"><input type="button" value="ACTUALIZAR" onclick="javascript:Valida()"/> <input name="boton" type="reset" id="boton" value="LIMPIAR"></p></center> <?php }else { ?> </td> </tr> <?php echo "<center><h3>No se encontro ningun documento con ese codigo</h3></center>"; ?> <center><h3><a href="ActualizarDocumento.php">Regresar</a></h3></center> <?php } ?>
Formulario InsertaActu.php formulario que me realiza la operacion de actualizacio y de insercion!!
Código PHP:
Ver original
<?php //Evalua si todos los campos estan vacios && ($_POST['codigo'] != "" || $_POST['Nombre'] != "" || $_POST['Version'] != "" || $_POST['Area'] != "" )) { //Se declaran las variables correspondientes a cada input del formulario $Codigo=$_POST['codigo']; $Nombre=$_POST['Nombre']; $Version=$_POST['Version']; // Variable que contiene el nombre de la carpeta que se encargara de guaradar los documentos ($destino) // Estas son las variables correspondientes al archivo que se sube $destino='archivos'; // Variable que contiene el nombre de la carpeta que se encargara de guaradar los documentos remplazados, es decir los de version anterior($antiguo) $antiguo= "Obsoletos"; $nom_archivo = $_FILES['archivo']['name']; $tipo = $_FILES['archivo']['type']; $size = $_FILES['archivo']['size']; $tamano=$_FILES['file']['size']; // Se realiza un if indicando que si el tamano del documento que se suba es menor a 500, copie el archivo en la carpeta de destino if($tamano < 500){ }else{ } require("Conexion.php"); //Recibes el arreglo con los valores del checkbox $val_chk= $_REQUEST['Area']; //recorres el arreglo foreach ($val_chk as $val ){ $con = mysql_query("UPDATE `area_documento` SET `Cod.Area` = '{$val}' WHERE `Cod.Doc` = '{$Codigo}'", $Conexion) or die (mysql_error()); /*$consult=mysql_query("Select Count(*) from `area_documento` where `Cod.Doc`='{$Codigo}'", $Conexion) or die (mysql_error()); if($consult > 0){ }else { //Consulta que me realiza una insercion en la base de datos, en la tabla area_documento $consultica = mysql_query(" insert into `area_documento` (`Cod.Doc`, `Cod.Area`) values('{$Codigo}', '{$val}')", $Conexion) or die (mysql_error()); }*/ } //Consulta que me realiza una insercion en la tabla datos, con los valores que se ingresen en los campos del formulario $sql = "call `ActualizarDoc`('{$Codigo}','{$Nombre}','{$Version}','{$_FILES['archivo']['name']}','{$Codigo}')"; echo '<center><b><h3>Se actualizaron los datos correctamente</a></h3></b></center>'; echo '<center><b><h3><a href=ActualizarDocumento.php> Regresar </a></h3></b></center>'; }else { echo ("El tamaño es superior al permitido"); } }else { //indica que si los campos estan vacios muestre el mensaje indicando el error $sindatos = "<center><font color=\"red\" size=\"4\"><b>DEBE INGRESAR DATOS<b></font></center>"; //include('ActualizarDocumento.php'); } ?>
Agradezco toda la ayuda posible