requete sql DELETE pour lignes dont champ date < aujourd'

Mammouth du PHP | 843 Messages

21 févr. 2006, 13:48

salut à tous :)

je cherche à faire une requete sql DELETE pour toutes les lignes d'une table table_manif dont la date d'un champs date_manif est inferieur à la date d'aujoud'hui.

j'ai essayer plusieur requete dont celle ci et aucune ne fonctionne:

Code : Tout sélectionner

DELETE FROM 'table_manif' WHERE ( 'manif_date' < "2006-02-21")
le message d'erreur est:
#1064 - Erreur de syntaxe pr�s de ''table_manif' WHERE('manif_date'<"2006-02-21")' � la ligne 1
ça doit être une grosse erreur de syntaxe mais je ne voit pas trop comment faire :cry:

merci d'avance pour votre aide :wink:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

21 févr. 2006, 14:06

j'ai aussi essayer la requete suivante mais même erreur:

Code : Tout sélectionner

DELETE FROM 'table_manif' WHERE TO_DAYS( CURDATE( ) ) > TO_DAYS( manif_date )
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 1029 Messages

21 févr. 2006, 14:11

et comme ceci

Code : Tout sélectionner

DELETE FROM table_manif WHERE manif_date < "2006-02-21"
L'expérience est la somme de toutes nos erreurs.

Mammouth du PHP | 843 Messages

21 févr. 2006, 14:32

ça marche lorsque j'execute depuis phpmyadmin en requete sql :)

par contre je n'arrive pas à faire en sorte que ça marche depuis php:
$sql = "DELETE FROM table_manif WHERE manif_date < $verif_date";
    $result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
la variable $verif_date est une date au format AAA-MM-DD

aucun message d'erreur ne s'affiche mais aucune suppression dans ma table.

si quelqu'un voit pourquoi :wink:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 1029 Messages

21 févr. 2006, 14:55

Et comme ceci ?
$sql = "DELETE FROM table_manif WHERE manif_date < '$verif_date'"; 
L'expérience est la somme de toutes nos erreurs.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 févr. 2006, 15:00

Je sais pas d'où sort $verif_date, mais tu disais vouloir supprimer les dates qui sont anterieures à la date d'aujoud'hui. Tupeut donc utiliser NOW() qui donne cette date:
$sql = "DELETE FROM table_manif WHERE manif_date < NOW()";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 843 Messages

21 févr. 2006, 15:08

ça fonctionne à merveille :D
merçi beaucoup :wink:

sujet resolu
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 257 Messages

23 déc. 2011, 00:33

tu serais stp mettre la partie de ton script delete Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 déc. 2011, 12:41

salut,

vue la date du sujet (2006 donc presque 6 ans) je te conseil de créer un sujet a toi avec tes tables et codes et une demande précise :)

@+
Il en faut peu pour être heureux ......