Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2011, 07:26
Avatar de JeMaGa
JeMaGa
 
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 12 años, 9 meses
Puntos: 4
No actualizan los valores del checkbox en mysql

Hola!!! buneo yo necesito una ayuda!!! como urgente, pero no he podido solucionarlo.

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
  1. <BODY>
  2.  
  3. <div style="text-align: right;"><a href="CerrarSecion.php"><h6>Cerrar Sesion</h6></a></div>
  4.  
  5. <center><h2>CARGA DEL DOCUMENTO</h2><center>
  6.  
  7. <h3>Aqui usted podra actualizar los datos del documento, debe ingresar el codigo del documento.</h3>
  8.  
  9. <!-- Se crea el formulario, con metodo via POST, direccionando a InsertarArchivoLuce.php indicando que retorne la funcion validar() -->
  10. <form action="ActuArchivo.php" method="POST" enctype="multipart/form-data" name="form1"  onSubmit="return validar()">
  11.  
  12. <center><h3><a href="CargarDocumento.php"> Devolver</a></h3></center>
  13.  
  14. <center><br><table border ='2'>
  15.  
  16. <tr>
  17.  
  18. <td>
  19.  
  20. <center><IMG SRC="imagenes/LOGO.jpg" WIDTH=120 HEIGHT=100></center>
  21.  
  22. <h3><center>DATOS DEL DOCUMENTO</center></h3>
  23.  
  24. </td>
  25.  
  26. <td><br>
  27.  
  28. <!-- Se crean 3 campos de texto, uno para codigo, otro para nombre, otro version del documento. -->
  29. <center><h4><font color="red"><b>*</b></font> Codigo del Documento: <input type="text" name="codigo" id="codigo" size="27" /></h4></center>
  30.  
  31. <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>
  32.  
  33. </td>
  34.  
  35. </tr>
  36.  
  37. </form>
  38.  
  39. </body>


formulario ActuArchivo.php este es el formulario que me muestra la consulta segun el documento.

Código PHP:
Ver original
  1. <body>
  2.  
  3. <?php
  4.  
  5. require("Conexion.php");
  6.  
  7. $codi=$_POST['codigo'];
  8.  
  9. $q_doc = sprintf(" SELECT * FROM `datos` WHERE `Codigo` = '%s' ",$codi);
  10.    
  11.     $result = mysql_query($q_doc,$Conexion) or die ("Error en la consulta en la pagina carga_doc  " .mysql_error());
  12.    
  13.     $num_rows  = mysql_num_rows($result);
  14.    
  15.     // validar si hay registros
  16.  
  17.     if($num_rows >0 ){
  18.  
  19.     $reg_doc = mysql_fetch_object($result);
  20.    
  21. ?>
  22.  
  23. <div style="text-align: right;"><a href="CerrarSecion.php"><h6>Cerrar Sesion</h6></a></div>
  24.  
  25. <center><h2>ACTUALIZAR DOCUMENTO</h2><center>
  26.  
  27. <form action="InsetaActu.php" method="POST" name="form">
  28.  
  29. <center><h3><a href="CargarDocumento.php"> Devolver</a></h3></center>
  30.  
  31. <center><br><table border ='2'>
  32.  
  33. <tr>
  34.  
  35. <td>
  36.  
  37. <center><IMG SRC="imagenes/LOGO.jpg" WIDTH=120 HEIGHT=100></center>
  38.  
  39. <h3><center>DATOS DEL DOCUMENTO</center></h3>
  40.  
  41. </td>
  42.  
  43. <td><br>
  44.  
  45. <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>
  46.  
  47. <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>
  48.  
  49. <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>
  50.  
  51. <!-- Se crea un campo tipo file, en este se guardara la ruta del archivo -->
  52. <center><p align="center"><h4><font color="red"><b>*</b></font> Archivo  <input name="archivo" type="file" id="archivo" size="30"> </h4></center>
  53.  
  54. <!-- Se crea una lista desplegable la cual se llena con una consulta a mysql -->
  55. <h4><font color="red"><b>*</b></font> Area Correspondiente:<br><br><?php
  56.  
  57.                                         //Se necesita el archivo Conexion.php para que se pueda realizar la consulta
  58.                                         require("Conexion.php");
  59.                                                            
  60.                                         $q_areas = "SELECT * FROM `area`";
  61.            
  62.                                         $result_areas = mysql_query($q_areas,$Conexion) or die (mysql_error());
  63.  
  64.                                         while ($reg_area = mysql_fetch_array($result_areas)){
  65.  
  66.                                         // consulta para traer las areas correspondientes al documento
  67.  
  68.                                         $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",
  69.  
  70.                                         $reg_doc->Codigo, $reg_area['Cod.Area']);
  71.        
  72.                                         $result_area_doc = mysql_query($q_areas_doc,$Conexion) or die (mysql_error());
  73.  
  74.                                         $num_area_doc = mysql_num_rows($result_area_doc);
  75.  
  76.                                         if($num_area_doc > 0){
  77.  
  78.                                         // recorremos el resultado
  79.  
  80.                                         while ($reg_area_doc  = mysql_fetch_object($result_area_doc)){
  81.  
  82.                                         ?>
  83.  
  84.                                         <input type="checkbox" name="Area[]" checked="checked" /><?php echo $reg_area['Nombre_Area']?><br />
  85.                    
  86.                                         <?php
  87.  
  88.                                         }// fin del while areas doc
  89.  
  90.                                         }else{
  91.  
  92.                                         ?>
  93.  
  94.                                         <input type="checkbox"  name="Area[]"/><?php echo $reg_area['Nombre_Area']?><br />     
  95.  
  96.                                         <?php
  97.  
  98.                                         }// fin del while areas documento
  99.  
  100.                                         }// fin del while areas
  101.            
  102.                                         ?>
  103.  
  104.                                         <br>
  105.            
  106.                                         Nota: <font size="2">Las areas marcadas son las correspondientes al documento</font>
  107.            
  108.                                         <br />
  109.            
  110.  
  111. <center><p align="center"><input type="button" value="ACTUALIZAR" onclick="javascript:Valida()"/> <input name="boton" type="reset" id="boton" value="LIMPIAR"></p></center>
  112.  
  113. <?php
  114.  
  115. }else {
  116.  
  117. ?>
  118.    
  119. </td>
  120.  
  121. </tr>  
  122.  
  123. <?php
  124.  
  125. echo "<center><h3>No se encontro ningun documento con ese codigo</h3></center>";
  126. ?>
  127. <center><h3><a href="ActualizarDocumento.php">Regresar</a></h3></center>
  128.  
  129. <?php
  130. }
  131.  
  132. ?>


Formulario InsertaActu.php formulario que me realiza la operacion de actualizacio y de insercion!!

Código PHP:
Ver original
  1. <?php
  2.  
  3. //Evalua si todos los campos estan vacios
  4. if ((isset($_POST['codigo']) && isset($_POST['Nombre']) && isset($_POST['Version']) && isset($_POST['Area']))
  5.  
  6. && ($_POST['codigo'] != "" || $_POST['Nombre'] != "" || $_POST['Version'] != "" || $_POST['Area'] != "" )) {
  7.  
  8.     //Se declaran las variables correspondientes a cada input del formulario
  9.     $Codigo=$_POST['codigo'];
  10.  
  11.     $Nombre=$_POST['Nombre'];
  12.  
  13.     $Version=$_POST['Version'];
  14.  
  15.     $Area=implode(",",$_POST['Area']);
  16.  
  17.     // Variable que contiene el nombre de la carpeta que se encargara de guaradar los documentos ($destino)
  18.     // Estas son las variables correspondientes al archivo que se sube 
  19.     $destino='archivos';
  20.  
  21.     // Variable que contiene el nombre de la carpeta que se encargara de guaradar los documentos remplazados, es decir los de version anterior($antiguo)
  22.     $antiguo= "Obsoletos";
  23.    
  24.     $nom_archivo = $_FILES['archivo']['name'];
  25.  
  26.     $tipo = $_FILES['archivo']['type'];
  27.  
  28.     $size = $_FILES['archivo']['size'];
  29.  
  30.     $tamano=$_FILES['file']['size'];
  31.    
  32.       // 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
  33.       if($tamano < 500){
  34.  
  35.          if(file_exists($destino.'/'.$_FILES['archivo']['name'])) {
  36.          
  37.          copy($destino.'/'.$_FILES['archivo']['name'], $antiguo.'/'.$_FILES['archivo']['name']);
  38.          
  39.          copy($_FILES['archivo']['tmp_name'], $destino.'/'.$_FILES['archivo']['name']);
  40.          
  41.          }else{
  42.          
  43.          copy($_FILES['archivo']['tmp_name'], $destino.'/'.$_FILES['archivo']['name']);
  44.          
  45.          }
  46.  
  47.        require("Conexion.php");
  48.  
  49.           //Recibes el arreglo con los valores del checkbox
  50.           $val_chk= $_REQUEST['Area'];
  51.  
  52.           //recorres el arreglo
  53.           foreach ($val_chk as $val ){
  54.  
  55.           $con = mysql_query("UPDATE `area_documento` SET `Cod.Area` = '{$val}' WHERE `Cod.Doc` = '{$Codigo}'", $Conexion) or die (mysql_error());
  56.          
  57.             /*$consult=mysql_query("Select Count(*) from `area_documento` where `Cod.Doc`='{$Codigo}'", $Conexion) or die (mysql_error());
  58.                
  59.                 if($consult > 0){
  60.            
  61.                
  62.  
  63.                 }else {
  64.  
  65.                 //Consulta que me realiza una insercion en la base de datos, en la tabla area_documento
  66.                 $consultica = mysql_query(" insert into `area_documento` (`Cod.Doc`, `Cod.Area`) values('{$Codigo}', '{$val}')", $Conexion) or die (mysql_error());
  67.                
  68.                 }*/
  69.  
  70.           }
  71.  
  72.           //Consulta que me realiza una insercion en la tabla datos, con los valores que se ingresen en los campos del formulario
  73.           $sql = "call `ActualizarDoc`('{$Codigo}','{$Nombre}','{$Version}','{$_FILES['archivo']['name']}','{$Codigo}')";
  74.          
  75.           mysql_query($sql, $Conexion) or die ( mysql_error());
  76.        
  77.        echo '<center><b><h3>Se actualizaron los datos correctamente</a></h3></b></center>';
  78.        
  79.        echo '<center><b><h3><a href=ActualizarDocumento.php> Regresar </a></h3></b></center>';
  80.        
  81.        }else {
  82.  
  83.         echo ("El tamaño es superior al permitido");
  84.  
  85.        }
  86.  
  87. }else {
  88.    
  89.     //indica que si los campos estan vacios muestre el mensaje indicando el error
  90.     $sindatos = "<center><font color=\"red\"  size=\"4\"><b>DEBE INGRESAR DATOS<b></font></center>";
  91.     //include('ActualizarDocumento.php');
  92.  
  93.     }
  94.  
  95. ?>


Agradezco toda la ayuda posible