Mantener imagen original si no se modifica en la base de datos
Publicado por Diego (2 intervenciones) el 09/02/2020 04:09:29
Hola, estoy trabajando en un proyecto en el que hago un CRUD de datos, tengo un problema con las imágenes, me inserta normal en la base de datos sin embargo en el formulario de modificación cuando no modifico la imagen no se guarda la primera que estaba almacenada, se pierde, como hago para mantener la misma imagen si no se modifica? muchas gracias de antemano. (aclarar que siempre me aparece el mensaje de modificación exitosa)
aquí recibo la modificación:
Luego lo mando a la clase donde esta el método que es este:
este es el constructor:
aquí recibo la modificación:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
case 'Modificar':
if (isset($_FILES['img']['name'])) {
$dir='img/'.$_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'],$dir);
$Repuesto = new Repuesto($_POST['Name'],$_POST['Desc'],$_POST['Fab'],$_POST['Nro'],$_POST['Price'],$_POST['cant'],$dir,$_POST['id']);
}
else{
$Repuesto = new Repuesto($_POST['Name'],$_POST['Desc'],$_POST['Fab'],$_POST['Nro'],$_POST['Price'],$_POST['cant'],$dir,$_POST['id']);
}
$r=$Repuesto->modificacion();
if ($r) {
echo '<p><div class="alert alert-success" role="alert">LOS DATOS SE MODIFICARON CORRECTAMENTE</div>';
}
else {
echo '<p><div class="alert alert-danger" role="alert">NO SE MODIFICARON LOS DATOS</div>';
}
break;
Luego lo mando a la clase donde esta el método que es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function modificacion(){
$con=Conexion::conectar();
$sql="UPDATE repuesto SET name=:name, desc=:desc, Fabr=:Fabr, Nro=:Nro, price=:price, cant=:cant, img=:img WHERE id=:id";
$sentencia=$con->prepare($sql);
$sentencia->bindParam(':id',$this->id);
$sentencia->bindParam(':name',$this->name);
$sentencia->bindParam(':desc',$this->desc);
$sentencia->bindParam(':Fabr',$this->Fabr);
$sentencia->bindParam(':Nro',$this->Nro);
$sentencia->bindParam(':price',$this->price);
$sentencia->bindParam(':cant',$this->cant);
$sentencia->bindParam(':img',$this->img);
return $sentencia->execute();
}
este es el constructor:
1
2
3
4
5
6
7
8
9
10
function __construct($name,$description,$Fabricante,$NroFabr,$price,$cant,$img,$id=null){
$this->id=$id;
$this->name=$name;
$this->desc=$desc;
$this->Fabr=$Fabr;
$this->Nro=$Nro;
$this->price=$price;
$this->cant=$cant;
$this->img=$img;
}
Valora esta pregunta


0