IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Aide pour créer une condition


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Par défaut Aide pour créer une condition
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $a = time() ;
    	 $b = $product['reference'];
    	 $addition = $a + $b;
    	 $abonnement=date('M d Y H:i:s', $addition);
     
     
    		$req = "INSERT INTO radcheck (id, username, attribute, op, value) 
                VALUES ( '', '$customer->email', 'Expiration', ':=', '$abonnement')"; 
                mysql_query($req);
    Et donc maintenant je cherche à faire la choses suivante:

    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

    Images attachées Images attachées   

  2. #2
    Membre expérimenté Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Par défaut
    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.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Par défaut
    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....

  4. #4
    Membre expérimenté Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Par défaut
    Et tu ne peux pas fusionner les deux ou les séparer dans des tables différentes par exemple :

    Une table identification
    Une table Abonnement

    Ce serait plus simple à gérer pour toi je pense non ?

    Ch.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    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

    Justement il aurait deux lignes avec même username.
    il faudrait connaitre le minimum vital des syntaxes avant de te lancer
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT value FROM radcheck WHERE username = xxxxx and attribute = expiration
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Par défaut
    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

Discussions similaires

  1. Aide pour créer une boucle
    Par laroche1 dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/12/2007, 15h51
  2. Réponses: 1
    Dernier message: 01/11/2006, 17h36
  3. aide pour créer une base
    Par irnbru dans le forum Débuter
    Réponses: 3
    Dernier message: 19/09/2006, 18h03
  4. aide pour créer une faq sur inno setup
    Par fsx999 dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 20h16
  5. [FLASH MX2004] Aide pour créer une animation
    Par SnakeTales dans le forum Flash
    Réponses: 5
    Dernier message: 04/08/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo