Jump to content


Photo

modificar imagen php mysql


  • Please log in to reply
3 replies to this topic

#1 dvinatea

dvinatea

    Newbie

  • Miembros
  • Pip
  • 4 posts

Posted 23 May 2012 - 11:01 PM

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
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

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.
  • 0

#3 dvinatea

dvinatea

    Newbie

  • Miembros
  • Pip
  • 4 posts

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:

	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
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

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:

$foto = 'foto.jpg';

if ($foto != $_POST['foto']) {
  //se edita
} else {
  //no se edita
}



Saludos.
  • 0




IP.Board spam blocked by CleanTalk.