J'ai donc un script qui permet d'ajouter des annonces dans ses favoris.
L'insertion marche bien et j'affiche un message comme quoi l'annonce existe déjà en favoris pour cet utilisateur mais s'affiche en même temps à ce moment la:
Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '34-484291' for key 'PRIMARY' in /home/www/lasortie/add_favoris.php on line 24
Problème lors de l'insertion
Mon code:
<?php
session_start();
include("include/conndb.php");
if(!empty($_SESSION['pseudo']) && !empty($_SESSION['membre']['id_simply_user'])) {
$num_favoris = $_GET['idfav'];
$utilisateur = $_SESSION['membre']['id_simply_user'];
$sql = "SELECT * FROM favoris WHERE id_simply_user = '".$_SESSION['membre']['id_simply_user']."'";
$req = $bdd->query($sql);
while($ligne = $req->fetch(PDO::FETCH_ASSOC)){
if ($num_favoris == $ligne['id_loisir']) {
echo 'Cette annonce fait déjà partie de vos favoris';
}else{
// Insertion
$req = $bdd->prepare('INSERT INTO favoris (id_simply_user, id_loisir) VALUE (:id_simply_user, :id_loisir)');
$req->execute(array(
'id_simply_user'=>$utilisateur,
'id_loisir'=>$num_favoris
))
or die('Problème lors de l\'insertion');
} }
header("Location:favoris.php");
}else{
header("Location: mon-compte.php");
}
?>
Merci à vous