Bonjour,

Voila je rencontre un petit problème je cherche comment créer un système de vue pour mes articles j'ai trouvez quelques tutos mais il date de plusieurs années :/

Ce que je fais

if($get_id == 1){
$req = $bdd->prepare("UPDATE vues = vu + 1 WHERE id = ?")->execute([$get_id]);
}

Merci pour votre aide

9 réponses


vues = vu + 1
ne peut pas marcher car il signifie : je prend la valeur actuelle de "vu" (le nom de la colonne), j'y ajoute 1 et je l'associe à "vues" (le nom de la colonne).

Tu comprends rapidement que "vues" et "vu" ne peuvent pas être une colonne différente.

Le format de ta requete SQL n'est pas bon, je te conseille de revoir la documentation !
Sinon tu peux essayer ceci :

if($get_id == 1){
    $req = $bdd->prepare("UPDATE vues SET vu = vu + 1 WHERE id = ?")->execute([$get_id]);
}

Salut,

en plus moi j'ai du mal à comprendre : if($get_id == 1)
Si l'id est à "1", alors on incrémente le nombre de vues ? Ça me parait étrange. C'est l'id de quoi ?

@Axis : en effet, j'avais même pas fait attention à ça :)
@SLK : pas compris non plus ... je me dis que c'est pour ces tests.

Salut, en effet ça ne peut pas marcher si le SQL n'est pas bon ^^
La requête de @Axis est correcte.

pour sa variable $get_id

il a a sans doute faire une requete de selection afin de verifier si l'id existe ou un truc du genre

Salut, le "$ged_id" est apriori le résultat d'un test d'existence. On a vérifié qu'il existe au moins 1 article avant de modifier son nombre de vus

Euh non ... sinon il ne serait pas en paramètre de la requete.

il faut déjà avoir l'intégralité du fichier pour en savoir plus