Modifier une annonce avec la fonction Update
Posté : 12 janv. 2022, 21:10
Bonjour, je sollicite votre aide pour essayer de modifier une annonce donnée. mes tables étant liées de la façon suivante:
https://imgur.com/a/i2au2Zx
Le problème c'est qu'en cliquant 'modifier' sur n'importe quelle annonce, je n'arrive pas à récupérer l'id de l'annonce qui a été cliquée, les values dans le formulaires sont donc vides. De plus, l'url n'affiche pas l'id de l'annonce lorsque le bouton modifier est cliqué.
Encore pour les images le Update est ambigu, j'ai l'erreur suivante: Undefined Variable id_annonce.
Est-ce que l'erreur est dans la façon dont j'ai écrit le code?
https://imgur.com/a/i2au2Zx
Le problème c'est qu'en cliquant 'modifier' sur n'importe quelle annonce, je n'arrive pas à récupérer l'id de l'annonce qui a été cliquée, les values dans le formulaires sont donc vides. De plus, l'url n'affiche pas l'id de l'annonce lorsque le bouton modifier est cliqué.
Encore pour les images le Update est ambigu, j'ai l'erreur suivante: Undefined Variable id_annonce.
Est-ce que l'erreur est dans la façon dont j'ai écrit le code?
Code : Tout sélectionner
if(isset($_SESSION['id'])) {
$id_membre= $_SESSION['id'];
$idannonce= !empty($_GET['id']); //id de la table annonce
$reqannonce = $bdd->prepare(" SELECT * FROM annonces WHERE id= ?");
$reqannonce->execute(array($idannonce));
$annonceinfo = $reqannonce->fetch();
$idannonce = $annonceinfo['id'] ;
var_dump($annonceinfo);
var_dump($idannonce);
$reqimage = $bdd->prepare(" SELECT * FROM images_annonces WHERE id_annonce= ?");
$reqimage->execute(array($idannonce));
$imageinfo = $reqannonce->fetch(PDO::FETCH_GROUP);
//Annonce
if(!empty($_POST['newcategorie']) AND !empty($_POST['newvilles']) AND !empty($_POST['newtitre']) AND !empty($_POST['newdescription'])
AND !empty($_POST['newprix'])){
$newcategorie = trim($_POST['newcategorie']);
$newville = trim($_POST['newvilles']);
$newtitre=trim($_POST['newtitre']);
$newdescription=trim($_POST['newdescription']);
$newprix=intval($_POST['newprix']);
$update = $bdd->prepare("UPDATE annonces SET id_categorie = :id_categorie, id_ville = :id_ville, titre = :titre, description = :description WHERE id = :id");
$update->execute(array(
':id_categorie' => $newcategorie,
':id_ville' => $newville,
':titre' => $newtitre,
':description' => $newdescription,
':prix' => $newprix,
':id' => $id));
header('Location: profilannonce.php?id='.$id_membre.'');
}
//Les images
if(!empty($_FILES['newimg1']) AND !empty($_FILES['newimg2']) AND !empty($_FILES['newimg3']) AND !empty($_FILES['newimg4'])
AND !empty($_FILES['newimg5'])){
$location= "pictures/";
$newimg1 = ($_FILES['newimg1']);
$newimg2 = ($_FILES['newimg2']);
$newimg3=($_FILES['newimg3']);
$newimg4=($_FILES['newimg4']);
$newimg5=($_FILES['newimg5']);
$update = $bdd->prepare("UPDATE images_annonces SET filepath = :location WHERE id_annonce = :id_annonce");
$update->execute(array(
':id_annonce' => $id_annonce, //$id_annonce de la table image_annonces liée à annonce.
//On voit bien que $idannonceest différent de $id_annonce
':filepath' => $location));
header('Location: profilannonce.php?id='.$id_membre.'');
}