Salut, j'ai créé mon petit script pour supprimer un commentaire via ma section admin. Tout se passe bien jusque la.
Voici la commande (je vous épargne les connexions etc...)

$sql = "DELETE FROM coms WHERE id={$_GET"id"]}";

Ce que je voudrais, c'est que automatiquement, lorsque je supprime un commentaire il soit en fait remplacé par "Commentaire supprimé pour non respect de la charte".

Pour cela j'ai pensé utiliser la commande UPDATE puis la clause SET, mais je ne sais pas comment le "syntaxer" (ni même si c'est possible) pour éviter d'avoir à faire une nouvelle page avec formulaire tout ça tout ça... Est-ce que vous pourriez me donner des précisions sur cette affaire ?

D'avance merci et un bonne continuation à vous. :)

6 réponses


PhiSyX
Réponse acceptée
UPDATE coms SET contenu='Modifié pour non respect de la charte.' WHERE id=$_GET'id']
Natà
Auteur
Réponse acceptée

Parfait PhiSyX merci beaucoup beaucoup !!

P.S : Je suis un idiot :)

Salut heu sans code on serais pas vraiment t'aider, sinon comme ça "à vu de nez" remplace ta réquète SQL delete par un update :)

Natà
Auteur

Oui c'est bien ce que j'ai essayé de faire mais je voulais rajouter à la commande UPDATE la valeur définie par SET.

En gros ça :

$sql = "UPDATE FROM coms WHERE id={$_GET"id"]} SET contenu=Modifié pour non respect de la charte";

Mais ça ne marche pas. Je voudrais comprendre si ça ne marche pas car il y a une erreur de syntaxe ou tout simplement que cette opération n'est pas réalisable.

$sql = "UPDATE FROM coms WHERE id={$_GET"id"]} SET contenu='Modifié pour non respect de la charte'";

C'est une chaine de caractères, il faut des guilleemts, sinon mets ton message dans une variable. par exemple :

$charte_null = 'Modifié pour non respect de la charte';

Et dans ce cas

$sql = "UPDATE FROM coms WHERE id={$_GET"id"]} SET contenu='$charte_null'";
Natà
Auteur

Merci pour vos interventions,

@Cruwp

J'ai déjà essayé cette solutions (les 2 à vrai dire, avec et sans variable) mais j'obtiens une erreur.

ERREUR SQL !
UPDATE FROM coms WHERE id=60 SET contenu='Commentaire supprimé pour non respect de la charte.'

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM coms WHERE id=60 SET contenu='Commentaire supprimé pour non respect de la c' at line 1