[RESOLU] Effacer en fonction d'une date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Effacer en fonction d'une date

Re: Effacer en fonction d'une date

par filou80 » 03 nov. 2021, 09:19

oups j'ai trouver :
DELETE FROM `utilisateurs` WHERE `actif` = 0 AND `maj` = `creation` AND (TIMEDIFF(NOW(), `maj`)) > "03:00:00"
Merci à tous pour votre aide.

@+ Filou

Re: Effacer en fonction d'une date

par filou80 » 03 nov. 2021, 09:13

Bonjour à tous,

Encore merci pour votre aide j'avance petit à petit.
Cette requête fonctionne :
SELECT * FROM `utilisateurs` WHERE `actif` = 0 AND `maj` = `creation` AND (TIMEDIFF(NOW(), `maj`)) > "03:00:00"
Par contre des que je met DELETE à la place de SELECT
DELETE * FROM `utilisateurs` WHERE `actif` = 0 AND `maj` = `creation` AND (TIMEDIFF(NOW(), `maj`)) > "03:00:00"
J'obtiens le message d'erreur suivant :
MySQL a répondu : Documentation
#1064 - Erreur de syntaxe près de '* FROM `utilisateurs` WHERE `actif` = 0 AND `maj` = `creation` AND (TIMEDIFF(...' à la ligne 1)
un indice ou une piste ....

@+ Filou

Re: Effacer en fonction d'une date

par or 1 » 02 nov. 2021, 18:05

Re: Effacer en fonction d'une date

par filou80 » 02 nov. 2021, 17:52

Merci pour votre aide je vais essayer d'avancer seul.
Avec votre aide je pense être sur la bonne voie.

SELECT TIMEDIFF(NOW(), `maj`) FROM utilisateurs WHERE `creation` = `maj` AND actif =0

lorsque que je remplace le select par delete cela ne fonctionne pas ....
cela me met l'erreur :
#1064 - Erreur de syntaxe près de '(NOW(), `maj`) FROM utilisateurs WHERE `creation` = `maj` AND actif =0' à la ligne 1
Alors que le select affiche bien les éléments que je souhaite.

de plus je sais pas comment integrer la notion de 3h

Je sais pas comment on fait pour enlever le commentaire qu'il y a eu auparavant mis dans la discussion.
C'est un administrateur peut l'enlever ça serait cool.

@+ Filou

Re: Effacer en fonction d'une date

par @rthur » 02 nov. 2021, 14:47

cela me donne ceci
Donc, ça marche.
A toi d'avancer maintenant ! :D

Re: Effacer en fonction d'une date

par filou80 » 02 nov. 2021, 13:46

cela me donne ceci
Image

@+ Filou

Re: Effacer en fonction d'une date

par or 1 » 02 nov. 2021, 13:17

effectivement, le problème était ailleurs.

https://dev.mysql.com/doc/refman/8.0/en ... n_timediff
"but both must be of the same type"
donc now() ou lieu de curtime()

Re: Effacer en fonction d'une date

par filou80 » 02 nov. 2021, 13:00

Bonjour,
C'est ce que j'ai fait, un copier coller de la requête d'Arthur.
SELECT TIMEDIFF(CURTIME(), `maj`) FROM utilisateurs

Regardez la seconde image ou il y a le résultat de phpMyAdmin
Image


@+Filou

Re: Effacer en fonction d'une date

par or 1 » 02 nov. 2021, 00:28

il faut faire un copier/coller de la requête d'Arthur, et pas la retaper en changeant quelque chose qui fait que cela ne fonctionne plus.

Re: Effacer en fonction d'une date

par filou80 » 01 nov. 2021, 23:51

Voici ma table :
Image
Voici la requete avec le resultat:
Image

Moi je souhaite effacer les resultat de plus ou la date de creation et et la date de mise a jour son identique avec le status a 0 de plus de 3h par rapport a la date actuel.

Je sais pas si je suis clair dans mon explication ?

Merci pour votre aide.

@+ Filou

Re: Effacer en fonction d'une date

par or 1 » 01 nov. 2021, 18:42

quelle est la requête testée dans phpmyadmin ?
quelle est le contenu de la table ?

Re: Effacer en fonction d'une date

par filou80 » 01 nov. 2021, 17:45

quand je fais la requête cela me renvoi 2 lignes ou dans la colonne il y a 2 Null.

Re: Effacer en fonction d'une date

par or 1 » 01 nov. 2021, 14:59

" Si tu fais un SELECT TIMEDIFF(CURTIME(), `maj`) FROM tatable tu verras ce que renvoie TIMEDIFF notamment"

quelle est la requête testée dans phpmyadmin ?

Re: Effacer en fonction d'une date

par filou80 » 01 nov. 2021, 14:40

Bonjour,
Merci pour votre aide, voici comment ma table est faite :
id - mail - pseudo - creation - maj - status (creation et maj sont en date time)
et voici la requête que j’essaie de faire :
DELETE * FROM `utilisateurs` `WHERE` actif =`0` AND `maj` = `creation` AND ICI notion de temps par rapport a la date du jour par exemple supérieur à 3h ;
@+ Filou

Re: Effacer en fonction d'une date

par or 1 » 01 nov. 2021, 13:10

quelle est la requête testée dans phpmyadmin ?
quelle est la structure de la table et son contenu ?