Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/02/2010, 10:42
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 6 meses
Puntos: 7
Respuesta: [APORTE] mantenimiento de datos con su respectiva imagen si que esta se pi

continuacion con el aporte parte III.

ahora creamos un formulario para mostrar los datos con su imagen y despues editarlo.

Código PHP:
Ver original
  1. <?php
  2.  
  3. include("includes/Conexion.class.php");
  4. include("includes/config.inc.php");
  5.  
  6. $cn= new Conexion(); //instanciamos la clase.
  7. $cn->conectarse(); //creamos el objeto conectarse().
  8.  
  9. if(isset($_GET['id'])){ //preguntamos si la variable id esta definida.
  10.     $id = $_GET['id'];
  11.     $sql_datos  = "SELECT * FROM datos WHERE idagenda = '$id'";
  12.     $rpta_datos = $cn->query($sql_datos) or die(mysql_error());
  13.     $fila_datos = $cn->fetch_array($rpta_datos);
  14. }
  15.  
  16. ?>
  17.  
  18. <form id="form1" name="form1" method="post" enctype="multipart/form-data" action="process.php">
  19.   <input type = "hidden" name = "editar" id = "editar" value = "1" />
  20.   <input type = "hidden" name = "codigo" id = "codigo" value = "<?=$_GET['id']; ?>" />
  21.   <input type="hidden" name="FotoHdd" id="FotoHdd" value="<?php echo $_GET['FotoHdd'];?>" >
  22.   <input name="nombreFoto" type="hidden" value="<?php echo $fila_datos['foto'];?>" />
  23.   <table width="523" border="0" cellpadding="2" cellspacing="0">
  24.     <tr>
  25.       <td width="172"><div align="right">Nombres</div></td>
  26.       <td colspan="2"><input name="nombres" type="text" id="nombres" size="40" value = "<?php echo $fila_datos['nombres']; ?>" /></td>
  27.     </tr>
  28.     <tr>
  29.       <td><div align="right">Apellidos</div></td>
  30.       <td colspan="2"><input name="apellidos" type="text" id="apellidos" size="40" value = "<?php echo $fila_datos['apellidos']; ?>" /></td>
  31.     </tr>
  32.     <tr>
  33.       <td><div align="right">Direccion</div></td>
  34.       <td colspan="2"><input name="direccion" type="text" id="direccion" size="40" value = "<?php echo $fila_datos['direccion']; ?>" /></td>
  35.     </tr>
  36.     <tr>
  37.       <td><div align="right">Edad</div></td>
  38.       <td colspan="2"><input name="edad" type="text" id="edad" size="10" value = "<?php echo $fila_datos['edad']; ?>" /></td>
  39.     </tr>
  40.     <tr>
  41.       <td><div align="right">Telefono</div></td>
  42.       <td colspan="2"><input name="telefono" type="text" id="telefono" size="20" value = "<?php echo $fila_datos['telefono']; ?>" /></td>
  43.     </tr>
  44.     <tr>
  45.       <td><div align="right">E-mail</div></td>
  46.       <td colspan="2"><input name="email" type="text" id="email" size="40" value = "<?php echo $fila_datos['email']; ?>" /></td>
  47.     </tr>
  48.     <tr>
  49.       <td><div align="right">Sexo</div></td>
  50.       <td colspan="2">
  51.       <input type="radio" name="opcion" id="radio" value="M"
  52.           <?php
  53.                 if($fila_datos['sexo']=='M'){
  54.                     echo "checked='checked'";
  55.                 }
  56.           ?>      
  57.       />
  58.         M
  59.         <input type="radio" name="opcion" id="radio2" value="F"
  60.           <?php
  61.                 if($fila_datos['sexo']=='F'){
  62.                     echo "checked='checked'";
  63.                 }
  64.           ?>        
  65.         />
  66.         F</td>
  67.     </tr>
  68.     <tr>
  69.       <td>&nbsp;</td>
  70.       <td colspan="2"><img src="fotos/<?php echo $fila_datos['foto']; ?>" width="100" /></td>
  71.     </tr>
  72.     <tr>
  73.       <td><div align="right">Foto</div></td>
  74.       <td colspan="2"><input type="file" name="foto" id="foto" /></td>
  75.     </tr>
  76.     <tr>
  77.       <td>&nbsp;</td>
  78.       <td colspan="2">&nbsp;</td>
  79.     </tr>
  80.     <tr>
  81.       <td>&nbsp;</td>
  82.       <td width="148"><div align="center">
  83.           <input type="submit" value="Guardar" />
  84.         </div></td>
  85.       <td width="191"><div align="center">
  86.           <input type="button" value="Cancelar" onClick="javascript:history.back(1);" />
  87.         </div></td>
  88.     </tr>
  89.   </table>
  90. </form>

se preguntaran porque coloque 3 campos hidden en el formulario editar.

primero. coloque el campo oculto de nombre codigo colocandole como valor el nombre del get id. se hizo eso porque al momento de editar el dato, debe capturar el nombre del campo oculto para identificar que id de registro pertence. ya que ni no hago esto, no podra editar los datos.

segundo. coloque un campo oculto llamado editar poniendole como valor 1. cree ese campo porque como estoy haciendo en un solo archivo para agregar y editar datos, le coloco una condicion primero que si no esta definida la variable editar, es decir, que si esta no existe, puede hacer el insert, pero en el caso de editar, si la variable editar esta definida y tiene como valor 1, procedera a hacer el update.

tercero. coloque otro campo oculto llamado nombreFoto que le puse como valor el campo de la tabla llamada foto. lo hice con la intension de que si por a o b edite los datos sin cambiar la imagen, la imagen pueda mantenerse sin perderse.

Código PHP:
Ver original
  1. if($_FILES['foto']['size'] != '0' ){ //preguntamos si el tamaño del archivo es diferente a 0, que edite los datos con la imagen.
  2.  
  3. // la funcion move_uploaded_file() con el update
  4.  
  5. }else{ //caso contrario, procedera a editar los datos sin la foto.
  6.  
  7. //$foto = $_POST['nombreFoto'];
  8.  
  9. //el sql del update.
  10.  
  11. }

pero para no complicarse tanto, pueden crear 2 archivos para que uno agregue y el otro edite los datos.

por ultimo, si deseamos borrar la foto, llamaremos a la funcion borrardatos pasandole como parametro la variable $cod.

Código PHP:
Ver original
  1. function borrardatos($cod){
  2.     global $cn;
  3.     $eliimage = "select * from datos where idagenda = '$cod'";
  4.     $rowimages = mysql_query($eliimage) or die(mysql_error());
  5.     $rs_image = mysql_fetch_array($rowimages);
  6.    
  7.     $foto = $rs_image['foto'];
  8.     if($foto!=""){ //preguntamos si la foto es diferente a vacio, que borre la imagen.
  9.         @unlink("fotos/$foto");
  10.     }
  11.     $sql_del = "delete from datos where idagenda = '$cod'";
  12.     $cn->query($sql_del) or die(mysql_error());
  13.    
  14.     header("Location:index.php");
  15. }

el procedimiento es el siguiente:

mostramos la tabla datos preguntando por el id de la tabla.

creamos una variable $foto y la almacenamos en un fetch_array().

despues preguntamos que si la variable $foto es diferente a vacio, llamo a la funcion unlink() dandole como parametro la ruta donde esta almacenada la foto, es decir la carpeta con el nombre de la foto de la base de datos.

luego de eso creamos un archivo eliminar.php llamando la funcion creada para borrar los datos.

eliminar.php

Código PHP:
Ver original
  1. include("includes/Conexion.class.php");
  2. include("includes/config.inc.php");
  3. include("funciones.php");
  4.  
  5. $cn= new Conexion(); //instanciamos la clase Conexion().
  6. $cn->conectarse(); creamos el objeto conectarse().
  7.  
  8. if(isset($_GET['cod'])){ //preguntamos si la variable cod esta definida.
  9.     borrardatos($_GET['cod']);
  10. }

bueno eso a sido todo de mi aporte .

cualquier consulta o pregunta acerca del tema, me la hacen saber.

si me equivoque en algo de mi aporte, con gusto recibire sugerencias.

saludos.

Última edición por esaenz22; 16/02/2010 a las 10:47 Razón: correcion.