aidez moi svp extraire depuis la base - PHP - Programmation
Marsh Posté le 03-05-2016 à 23:55:29
Indice : t'as un champ "date". Dans ta requête, indique une clause WHERE avec une condition sur la date
Marsh Posté le 04-05-2016 à 12:08:46
rufo a écrit : Indice : t'as un champ "date". Dans ta requête, indique une clause WHERE avec une condition sur la date |
merci beaucoup rufo cé tres gentil j'ai déja trouver la solution
Marsh Posté le 04-05-2016 à 12:10:32
ReplyMarsh Posté le 04-05-2016 à 12:22:08
Commence par dégager ta première requête "ALTER TABLE".
Elle sert à rien (dans ce contexte).
Marsh Posté le 04-05-2016 à 12:24:15
kao98 a écrit : Commence par dégager ta première requête "ALTER TABLE". |
AH D'accord merci pour l'information
Marsh Posté le 04-05-2016 à 13:41:42
nouracm a écrit : |
C'est une fonction de MYSQL permettant de connaître la différence entre deux dates (en nombre de jours par exemple)
Marsh Posté le 04-05-2016 à 13:55:23
antac a écrit : |
ah merci
est-ce-tu connais comment je peut avoir combien de fois l'email à été envoyés .
le but c'est d'afficher sur l'ecran un message contenent le nombre d'email à été envoyés.
cé le code pour que tu comprend
Code :
|
désolé pour mon faible français
merci d'avance
Marsh Posté le 09-05-2016 à 14:23:52
Code :
|
Cette condition m'a beaucoup fait rire
bogues = serveurs SMTP qui refusent les spammeurs par défaut.
Marsh Posté le 09-05-2016 à 15:06:19
h3bus a écrit :
|
j'ai pas bien compris mais la condition j'ai déja la testé et elle marche bien .
ou est la faute ?
Marsh Posté le 09-05-2016 à 15:12:32
Edit: NVM j'ai mal lu
Marsh Posté le 09-05-2016 à 16:17:58
nouracm a écrit : j'ai pas bien compris mais la condition j'ai déja la testé et elle marche bien . |
C'est pas le pb, tu peux dégager cette condition elle ne sert à rien, autant mettre du \r\n partout
Marsh Posté le 09-05-2016 à 17:02:51
Le plus simple, est d'utiliser la fonction NOW() pour récupérer la date actuelle. Après, tu soustrait avec INTERVAL 7 DAY et tu as exactement ce que tu recherches. Maintenant je vois que tu as choisi une date et non un datetime dans ta structure de donnée ... De ce fait tu perds l'information de l'heure, ce qui peut-être embêtant car imprécis.
SELECT DISTINCT `date`, `id` FROM `puissance` WHERE `date` < (NOW() - INTERVAL 7 DAY) ORDER BY `id` ";
Marsh Posté le 09-05-2016 à 18:13:38
gatsu35 a écrit : |
ah d'accord merci
Marsh Posté le 09-05-2016 à 18:19:10
Moumoule a écrit : Le plus simple, est d'utiliser la fonction NOW() pour récupérer la date actuelle. Après, tu soustrait avec INTERVAL 7 DAY et tu as exactement ce que tu recherches. Maintenant je vois que tu as choisi une date et non un datetime dans ta structure de donnée ... De ce fait tu perds l'information de l'heure, ce qui peut-être embêtant car imprécis. |
woow cé géniale j'ai résolu la probléme il ya déja 5 jours mais à 10 ligne presque j'ai fais comme ce ci
Code :
|
et j'ai tombé à tester à chaque foie sur le jour, le moi et l'année et j'ai finie mon code en 1000 ligne
mais votre solution est géniale je ne l'ai connais pas avant
merci encore fois
Marsh Posté le 09-05-2016 à 19:09:11
Ta solution effectue le traitement côté serveur et non avec la requête à la BDD. C'est pas la solution idéale car tu vas rapatrier toutes les données.. Pour illustrer, imagine toi que tu as 10 000 enregistrements. Tu les récupères tous, et après via ton code php, tu vas traverser tous les enregistrements pour voir lesquels ont une date > que NOW() - 7 jours. Supposons qu'il y a que 100 enregistrements qui correspondent => du traitement overkill.
Ça marche c'est sûr mais le mieux étant de filtrer directement via la requête qui va directement de donner les 100 enregistrements.
Marsh Posté le 09-05-2016 à 19:25:40
Moumoule a écrit : Ta solution effectue le traitement côté serveur et non avec la requête à la BDD. C'est pas la solution idéale car tu vas rapatrier toutes les données.. Pour illustrer, imagine toi que tu as 10 000 enregistrements. Tu les récupères tous, et après via ton code php, tu vas traverser tous les enregistrements pour voir lesquels ont une date > que NOW() - 7 jours. Supposons qu'il y a que 100 enregistrements qui correspondent => du traitement overkill. |
oui cé vrai tu as raison merci beaucoup cé trés gentil
est-ce-que vous avez un cours de php avancé à fin d'améliorer mon niveau ?
Marsh Posté le 10-05-2016 à 06:16:19
Evite d'écrire en langage SMS. Sinon pour les cours, là c'est plus un cours sur les bases de données et bien savoir quand il faut faire un traitement du coté de la base que du coté PHP. En général il faut faire un max de traitement coté base.
Marsh Posté le 10-05-2016 à 17:22:03
gatsu35 a écrit : Evite d'écrire en langage SMS. Sinon pour les cours, là c'est plus un cours sur les bases de données et bien savoir quand il faut faire un traitement du coté de la base que du coté PHP. En général il faut faire un max de traitement coté base. |
ah d'accord merci beaucoup pour l'information
Marsh Posté le 03-05-2016 à 22:11:07
comment faire pour que j'extraire depuis ma base les clients qui n'ont pas entrer une puissance depuis 7 jours .
le bute c'est d'envoyer un email automatique à ces clients pour les rappeler .
le champs id signifie l'identifieur du client.
j'ai bien fait l'extraction mais je ne connais pas comment faire un contrôle automatique pour que le programme extraire ces client et l'envoyer un email .