|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 40 ![]() |
Bonjour,
Toujours dans mon projet de gestion des abonnements je reviens vers vous une dernière fois. Alors voila, lorsque un utilisateur s'inscrit une ligne dans la table radcheck est créé. Ensuite, lorsque utilisateur passe une commande (souscris un abonnement), une deuxième ligne est créé dans la même table. Voici le code que j'utilise pour insérer la date d'expiration: Code :
1. si c'est la première commande on insère la ligne avec la date d'expiration. 2. si c'est deuxième commande (le renouvellement d'abonnement) et si la date actuelle est inferieur à celle d'abonnement (présente dans le champ value) alors on UPDATE on rajoutant la durée d'abonnement sur celle de champ value. 3. et donc si c'est la deuxieme commande est la date est supérieur ou égal à celle de champ value alors tout simplement on la remplace. Bon, je sais que je demande à faire le boulot à ma place mais cela devient vraiment trop compliqué pour moi... Merci à ceux qui prendre le temps pour ce pencher sur mon problème |
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
Salut ,
je pense que la logique serait la suivante : le champ username doit être je suppose unique et indexé , si c'est le cas , tu commences par un select , suivant le resultat : -> pas de résultat = insert -> résultat : comparaison de la date , et en fonction > ou < tu fais l'Update qui va bien . Good Luck, Ch.
__________________
Lindev.fr |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 40 ![]() |
Justement il aurait deux lignes avec même username.
Une pour identification et deuxième pour gestion d'abonnement. Je pense qu'il faudrait vérifier la présence de la valeur "expiration" dans le champ value pour un utilisateur donné, mais pour ce qui est la syntaxe.... |
|
|
00
|
|
|
#4 | |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Quelle difficulté as-tu pour traduire ce que tu as décris en lignes de code ?
Tu lis la base pour recuperer l'expiration existante 1 - tu n'as rien dans la base, tu fais un insert 2-3 - tu as quelque chose, tu fais l'update. Au passage, même si tu n'utilises pas un champ DATETIME, stocke tes dates au format php/mysql : Y-m-d H:i:s Citation:
Code sql :
SELECT value FROM radcheck WHERE username = xxxxx AND attribute = expiration |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 40 ![]() |
La difficulté que j'ai, ce que je ne suis pas de tout développeur en php. Donc je sais ce qu'il faudrait faire mais je ne sais pas de tout comment...
je ne peux pas ni séparer ni fusionner, car c'est la table utilisé par les modules de freeradius |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com