Hola,
tengo problemas al editar una tabla donde está contenida una imagen. Los campos son id, nombre_imagen, foto,obs. El problema es que me fuerza a editar la imagen. En editar, yo incluí el upload (en realidad es la clase que Cesar Cancino utilizó en el tutorial). Pienso que se debe ingresarse un campo que pregunte si tu quieres modificar la foto. Si no la vas a modificar, que el upload no este activo. No lo tengo claro.
Gracias

modificar imagen php mysql
Started by
dvinatea
, May 23 2012 11:01 PM
3 replies to this topic
#1
Posted 23 May 2012 - 11:01 PM
#2
Posted 24 May 2012 - 07:46 AM
Lo que debes hacer es crear una "bandera", o sea, una variable que modificas si la foto fue cambiada o no, con eso tú controlas la situación.
Saludos.
Saludos.
#3
Posted 24 May 2012 - 09:33 AM
enecumene,
gracias, pero justamente ahí está el problema: no se como poner la variable. Es decir, ¿cual es la condición necesaria para que distinga si se ha ingresado una foto o no ? aquí el codigo:
cuando ingresas una imagen, el código funciona bien. Pero en el edit, no es necesario cambiar la imagen.
Gracias
gracias, pero justamente ahí está el problema: no se como poner la variable. Es decir, ¿cual es la condición necesaria para que distinga si se ha ingresado una foto o no ? aquí el codigo:
public function edit_trabajo($categoria,$descripcion,$nombre_foto,$foto_trabajo,$fecha_foto,$id_trabajo)
{
copy($_FILES["foto_trabajo"]["tmp_name"],"proyectos/".$_FILES["foto_trabajo"]["name"]);
//****************
$thumb=new thumbnail("proyectos/".$_FILES["foto_trabajo"]["name"]);
$thumb->size_width(900);//setea el ancho de la copia
$thumb->jpeg_quality(75);//setea la calidad jpg
$tipo=$_FILES["foto_trabajo"]["type"];
switch ($tipo)
{
case 'image/jpeg':
$ext=".jpg";
break;
case 'image/png':
$ext=".png";
break;
}
$nombre_foto=$_POST["nom"];
$nombre_foto=str_replace(" ","_",$nombre_foto);
$nombre_foto=$nombre_foto.$ext;
$nombre_foto=$_POST["nom"];
$nombre_foto=str_replace(" ","_",$nombre_foto);
$nombre_foto=$nombre_foto.$ext;
$thumb->save("proyectos/$nombre_foto"); //guardarla en el servidor
//$thumb->show(); //mostrar la imagen copiada
unlink("proyectos/".$_FILES["foto_trabajo"]["name"]);
$sql="update trabajosrf set categoria='$categoria',descripcion='$descripcion',nombre_foto='".$_POST["nom"]."',foto_trabajo='$nombre_foto',fecha_foto='$fecha_foto' where id_trabajo=$id_trabajo";
$res=mysql_query($sql,Conectar::con());
echo "<script type='text/javascript'>
alert('datos editados correctamente');
window.location='back_proyectos.php';
</script>";
}
cuando ingresas una imagen, el código funciona bien. Pero en el edit, no es necesario cambiar la imagen.
Gracias
#4
Posted 24 May 2012 - 09:51 AM
Vamos a hacerlo más fácil, cuando cargues el formulario coloca una variable con la info de la imagen, así antes de guardar haces una comparación con la info del input text:
Saludos.
$foto = 'foto.jpg';
if ($foto != $_POST['foto']) {
//se edita
} else {
//no se edita
}
Saludos.