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<?php
include("includes/Conexion.class.php");
include("includes/config.inc.php");
$cn= new Conexion(); //instanciamos la clase.
$cn->conectarse(); //creamos el objeto conectarse().
if(isset($_GET['id'])){ //preguntamos si la variable id esta definida. $id = $_GET['id'];
$sql_datos = "SELECT * FROM datos WHERE idagenda = '$id'";
$fila_datos = $cn->fetch_array($rpta_datos);
}
?>
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="process.php">
<input type = "hidden" name = "editar" id = "editar" value = "1" />
<input type = "hidden" name = "codigo" id = "codigo" value = "<?=$_GET['id']; ?>" />
<input type="hidden" name="FotoHdd" id="FotoHdd" value="<?php echo $_GET['FotoHdd'];?>" >
<input name="nombreFoto" type="hidden" value="<?php echo $fila_datos['foto'];?>" />
<table width="523" border="0" cellpadding="2" cellspacing="0">
<tr>
<td width="172"><div align="right">Nombres</div></td>
<td colspan="2"><input name="nombres" type="text" id="nombres" size="40" value = "<?php echo $fila_datos['nombres']; ?>" /></td>
</tr>
<tr>
<td><div align="right">Apellidos</div></td>
<td colspan="2"><input name="apellidos" type="text" id="apellidos" size="40" value = "<?php echo $fila_datos['apellidos']; ?>" /></td>
</tr>
<tr>
<td><div align="right">Direccion</div></td>
<td colspan="2"><input name="direccion" type="text" id="direccion" size="40" value = "<?php echo $fila_datos['direccion']; ?>" /></td>
</tr>
<tr>
<td><div align="right">Edad</div></td>
<td colspan="2"><input name="edad" type="text" id="edad" size="10" value = "<?php echo $fila_datos['edad']; ?>" /></td>
</tr>
<tr>
<td><div align="right">Telefono</div></td>
<td colspan="2"><input name="telefono" type="text" id="telefono" size="20" value = "<?php echo $fila_datos['telefono']; ?>" /></td>
</tr>
<tr>
<td><div align="right">E-mail</div></td>
<td colspan="2"><input name="email" type="text" id="email" size="40" value = "<?php echo $fila_datos['email']; ?>" /></td>
</tr>
<tr>
<td><div align="right">Sexo</div></td>
<td colspan="2">
<input type="radio" name="opcion" id="radio" value="M"
<?php
if($fila_datos['sexo']=='M'){
echo "checked='checked'";
}
?>
/>
M
<input type="radio" name="opcion" id="radio2" value="F"
<?php
if($fila_datos['sexo']=='F'){
echo "checked='checked'";
}
?>
/>
F</td>
</tr>
<tr>
<td> </td>
<td colspan="2"><img src="fotos/<?php echo $fila_datos['foto']; ?>" width="100" /></td>
</tr>
<tr>
<td><div align="right">Foto</div></td>
<td colspan="2"><input type="file" name="foto" id="foto" /></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td width="148"><div align="center">
<input type="submit" value="Guardar" />
</div></td>
<td width="191"><div align="center">
<input type="button" value="Cancelar" onClick="javascript:history.back(1);" />
</div></td>
</tr>
</table>
</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 originalif($_FILES['foto']['size'] != '0' ){ //preguntamos si el tamaño del archivo es diferente a 0, que edite los datos con la imagen.
// la funcion move_uploaded_file() con el update
}else{ //caso contrario, procedera a editar los datos sin la foto.
//$foto = $_POST['nombreFoto'];
//el sql del update.
}
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 originalfunction borrardatos($cod){
global $cn;
$eliimage = "select * from datos where idagenda = '$cod'";
$foto = $rs_image['foto'];
if($foto!=""){ //preguntamos si la foto es diferente a vacio, que borre la imagen.
}
$sql_del = "delete from datos where idagenda = '$cod'";
}
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 originalinclude("includes/Conexion.class.php");
include("includes/config.inc.php");
include("funciones.php");
$cn= new Conexion(); //instanciamos la clase Conexion().
$cn->conectarse(); creamos el objeto conectarse().
if(isset($_GET['cod'])){ //preguntamos si la variable cod esta definida. borrardatos($_GET['cod']);
}
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.