Ir al contenido


Foto

modificar imagen php mysql


  • Por favor identifícate para responder
3 respuestas en este tema

#1 dvinatea

dvinatea

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 23 mayo 2012 - 11:01

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
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 24 mayo 2012 - 07:46

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 mensajes

Escrito 24 mayo 2012 - 09:33

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
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 24 mayo 2012 - 09:51

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.