|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Bonjour,
Je voudrais enregistrer automatiquement une valeur à la fin de chaque mois dans une base de données, mais je ne sais pas comment faire Merci de m'aider. Bonne après midi ... |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
je ne sais pas si mysql permet d'exécuter une fonction à intervalle régulier (ce qui serait le plus simple), mais moi j'utilise un cron (je suis sous RedHat AS3) qui appelle un script perl qui exécute les requêtes SQL désirée....
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
sinon tu as http://webcron.org/
Une autre solution bien plus bourrin consiste a stocker quelque part la derniere fois que l'action a été faite. Puis a chaque chargement de page, verifier que l'action a déja été faite pour ce mois ci. Si ce n'est pas le cas, tu fait l'action, comme ca elle sera faite par ton premier visiteur du mois a chaque fois.
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Merci pour vos réponse
>> gerald2545 et Fladnag : en fait je préfèrerais utiliser PHP et MySQL uniquement. N'existe t-il pas une fonction qui permette de la faire ? J'ai cherché dans la doc de PHP en vain ... |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
La deuxième solution de Fladnag est 100% PHP / MySQL...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#6 | |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Citation:
Effectivement mais elle me parait compliquée Est ce que c'est possible de le faire avec une expression régulière ? Si oui quelqu'un peut m'expliquer ? Merci |
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
1 - Tu stockes quelque part (dans ta base à la limite) la date de ton dernier enregistrement 2 - Quand une de tes pages (une qui est fréquemment utilisée tant qu'à faire) est lancée par un utilisateur, tu regardes par rapport à la date courante et à la date sauvegardée si il faut mettre un nouvel enregistrement 3 - si c'est pas la peine (c'est à dire si la valeur du mois précédent a été enregistrée) tu fais rien, sinon tu fais l'enregistrement et tu mets à jour la valeur de la date du dernier enregistrement. Ca se fait tout seul si tu as compris le principe. Citation:
Je vois pas le rapport avec la question
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
||
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Citation:
Citation:
@+ |
||
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
Citation:
Les expressions régulieres ne peuvent etre utilisées que pour faire des recherches et/ou des remplacements dans des chaines de caracteres. On peux pas laver du linge avec, ni faire un toast, ni mettre a jour une base de donnée ;o)
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
Citation:
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
||
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
Citation:
Code :
echo preg_replace("#(chemise|t-shirt|pantalon)(.*)taches?#Uis", "$1$2", $texte);
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Bien joué, moment détente avant le WE
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#13 | |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Merci à Fladnag et JWhite pour ce foutage de gueule .Bon, je pense faire ça avec une fonction mais ce que vous m'avez dis ne me semble pas clair (ou alors c'est moi En gros vous me conseillez Citation:
Merci de m'aider parce que là ... je suis à bout |
|
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
C'est pas tout à fait ça...
Allez je m'enflamme dans un algo freestyle :(quand l'utilisateur arrive sur la page que tu as choisie) Code :
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
En fait, c'est un peu l'histoire du chat de Schrödinger.
Tu as besoin du resultat du traitement sur une certaine page non ? Donc imaginons que tu mette l'appel a la fonction en haut de cette page, tu est sur qu'elle sera executée avant chaque affichage de la page, donc si le mois précédent elle ne s'est pas executée (ie : on est pas allé sur cette page), elle se lancera avant le premier affichage. Maintenant si la page en question n'est pas visitée au moins une fois par mois, tu peux aussi mettre l'appel a la fonction sur une page plus vue (voir en haut de chaque page de ton site si t'est parano comme moi !) En gros, dès que quelqu'un se connecte, ta petite fonction va : * Regarder la date actuelle * Verifier que le mois de la date stockée de la derniere mise a jour est différent du mois en cours * Lancer le traitement Evidemment, si tu as 3000 visiteurs par mois, tu va executer 2999 fois un test qui renverra false pour 1 test qui renverra true. Evidemment aussi, si ton site n'a pas une seule visite en un mois, le traitement ne sera jamais executé. C'est plus clair ?
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#16 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
sinon la solution du cron correspond bien. Sauf qu'au lieu de perl tu utilises php pour ton script
|
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Merci pour vos réponse
Bon j'explique plus dans les détails pour être plus clair. Tous les mois, mes visiteurs vont gagner des points, à compter de leur inscription. Ensuite, je veux faire un tableau de statistiques (un récapitulatif) des points gagné au mois de janvier, février, etc Et donc j'ai besoin d'enregistrer le nombre de points qu'ils ont gagnés chaque mois pour pouvoir mettre : 150 points gagnés au mois de janvier, 128 au mois de février, etc. Mais je ne sais pas comment faire ça ... En espérant avoir été clair, @+, et encore
|
|
|
00
|
|
|
#18 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
ben pourquoi tu stockes cette info alors que tu peux la récupérer facilement par requêtage?
|
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 67 ![]() |
Comment ça
|
|
|
00
|
|
|
#20 | |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Citation:
En fait il faudrait connaître la structure de ta base, mais si c'est bien fait tu peux avoir ces infos avec des belles requêtes SQL.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com