Requeste SQL qui s'annule apres X temps ? comment ?

King99
Invité n'ayant pas de compte PHPfrance

27 juil. 2011, 22:27

Bonjours,
je cherche depuis 3 ou 4 jours comment faire une requête SQL qui va s'annuler après 1 moi.

par exemple, je voudrais que lorsque la personne arrive sur une page, il y est un champ pour entrer son nom et cliquer sur OK pour exécuter cette requête.
Je voudrais que une fois cette personne est cliqué sur OK, la lettre 'p' se rajoute (et non remplace, donc un UPDATE je pense) dans le Field '_Flags'

je ne suis pas sur mais je pense que cela donnerais un truque du style :

Code : Tout sélectionner

UPDATE _Flags ADD p WHERE _Name = Nom
Mais après, je voudrais aussi que 'p' se retire, sans retirer toute les autres lettres du Field '_Flags', apres 1 mois exactement. Et c'est plutôt là mon problème comment on fait cela ? :shock:
Je sais qu'il faut un autre Field pour calculer le temp. '_Time'.

Merci beaucoup en avance pour vos réponses !

Et en même temps, le temps est calculer en secondes ou en minutes ?

Voici mon code de départ :

Page PHP
<html>
 <body>

 <form action="index.php" method="post">
 Nom: <input type="text" nom="Nom" />
 <input type="submit" value="OK" />
 </form>

 </body>
 </html>

<?php
 $con = mysql_connect("localhost","root","pass");
 if (!$con)
   {
   die('Ne peut pas se connecter: ' . mysql_error());
   }

 mysql_select_db("a2796245_hl2", $con);

 mysql_query("UPDATE _Flags ADD p WHERE  _Name = Nom");

 mysql_close($con);
 ?>
Je ne m'y connais pas beaucoup ...

ViPHP
ViPHP | 5462 Messages

27 juil. 2011, 22:30

t'as plusieurs solution
- a chaque fois qu'un utilisateur lance la page, ça lance un script qui s'occupe de ca
- faire un cron
- faire un trigger mysql

King99
Invité n'ayant pas de compte PHPfrance

27 juil. 2011, 22:33

oh aussi, si je veux rajouter le Field '_Time' (pour calculer le temps restant avant d'annuler le 'p', quel Type je dois y mettre ?
Text ?
smallint ?
varchar ?

et quel Collation ?

(et si possible me dire pourquoi ^.^ je veux apprendre aussi !)

King99
Invité n'ayant pas de compte PHPfrance

27 juil. 2011, 22:34

t'as plusieurs solution
- a chaque fois qu'un utilisateur lance la page, ça lance un script qui s'occupe de ca
- faire un cron
- faire un trigger mysql
Ques un cron et un trigger mysql ?

ViPHP
ViPHP | 5462 Messages

27 juil. 2011, 22:44

t'as plusieurs solution
- a chaque fois qu'un utilisateur lance la page, ça lance un script qui s'occupe de ca
- faire un cron
- faire un trigger mysql
Ques un cron et un trigger mysql ?
un cron c'est un processus sur ton serveur qui peux se lancer tout les X temps, donc exécuter un script php tout les heures par exemple
un trigger mysql c'est une requetes tu tu va lancer tout les X temps

King99
Invité n'ayant pas de compte PHPfrance

27 juil. 2011, 22:52

D'accord,

Mais cela ne causera pas de bug si la personne n'a pas le 'p' dans _Flags ?

Et quel serrait le script qui enlèverais Juste le p dans le field _Flags ?

devlop78
Invité n'ayant pas de compte PHPfrance

28 juil. 2011, 03:44

t'as plusieurs solution
- a chaque fois qu'un utilisateur lance la page, ça lance un script qui s'occupe de ca
- faire un cron
- faire un trigger mysql
Ques un cron et un trigger mysql ?
un cron c'est un processus sur ton serveur qui peux se lancer tout les X temps, donc exécuter un script php tout les heures par exemple
un trigger mysql c'est une requetes tu tu va lancer tout les X temps
Tu m'en diras tant ! Un trigger MySQL est plutôt évenementiel à ma connaissance ... Ai-je tort ?

ViPHP
ViPHP | 5462 Messages

28 juil. 2011, 04:51

Tu m'en diras tant ! Un trigger MySQL est plutôt évenementiel à ma connaissance ... Ai-je tort ?
oui, mais dans le fond c'est qu'une requête tout les X temps :wink:

King99
Invité n'ayant pas de compte PHPfrance

28 juil. 2011, 05:23

D'accord, mais pour en revenir à mon problème,

quel est le script qui va retirer la lettre 'p' du Field sans retirer rien d'autre qui est déjà dedans ?

Eléphant du PHP | 275 Messages

28 juil. 2011, 12:13

substring ?

devlop78
Invité n'ayant pas de compte PHPfrance

28 juil. 2011, 14:46

Peut etre un problème de modélisation dès le départ. Je trouve ça pas propre tout ca

King99
Invité n'ayant pas de compte PHPfrance

28 juil. 2011, 19:32

Moi c'est juste un fonction mysql que je demande enfaite...

Je vais prendre le Trigger comme stealth35 me l'avais conseillé...

Moi j'ai besoin de lq fonction mysql pour retirer une lettre parmi toute les autres dans '_Flags'


Car enfaite, moi j'éssais de faire une page d'abonnement. (La personne marque son nom de compte, clique sur 'OK', sa ajoute 'p' dans '_Flags', et après 1 mois sa efface le 'p' du '_Flags' vis-à-vis son nom de compte.

Après, là ou je bug c'est 'après 1 mois sa efface le 'p' du '_Flags' vis-à-vis son nom de compte'

PS. Je suis un vrais débutant. J'ai fais des recherche pour 'substring' et sa m'a donner sa :

Code : Tout sélectionner

<?php echo substr("abcdefghij", 2); echo "<br />"; echo substr("abcdefghij", 0, 3); echo "<br />"; echo substr("abcdefghij", 1, 4); echo "<br />"; echo substr("abcdefghij", 5, 20); echo "<br />"; echo substr("abcdefghij", -3, 2); ?>
Déjà en partant, je n'y comprendre rien même avec mes recherches google.

Svp, pourriez vous m'expliquer plus en détail lors de vos réponse ?

devlop78
Invité n'ayant pas de compte PHPfrance

29 juil. 2011, 02:11

Zut j'étais en train d'écrire une réponse, je ne sais pas ce qui s'est passé, j'ai du fermé sans faire expres. je ne vais pas tout réécrire, juste : regarde du côté de REPLACE.

King99
Invité n'ayant pas de compte PHPfrance

29 juil. 2011, 03:00

Ahh ok je vois, depuis le débuts vous pensez que je veux modifier la valeur de la table.

Moui en quelque sorte. Mais pas manuellement. Chaque joueur, peuvent avoir 15 lettre de l'alphabet différentes les une de les autres. Et donc, je voudrais un système automatiser qui ira sélection la lettre 'p' sans que j'ai à remarquer toute les lettre qu'il y a dans la table. (quoique automatiser voulait peut-être dire cela...)

d'après mes recherche sur la syntaxe REPLACE, sa sert a remplacer totalement un texte prédéfinie par un autre définie. Je ne veux pas a avoir aller dans le phpmyadmin pour modifier 1 a 1 les tables des joueurs...

Mais c'est la mon problème (depuis que j'ai créer le poste enfaite....) je ne sais pas comment.

j'ai été sur siteduzero. Il n'y a rien qui parle de quelque chose qui pourrait faire cela. (sa existe au moins ?)

devlop78
Invité n'ayant pas de compte PHPfrance

29 juil. 2011, 03:05

Non Non REPLACE c'est :

REPLACE 'p' par '' : 'coucou papa' => 'coucou aa'

et cela avait un CRON et c'est bon.