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 :

comment écrire un ordre sql


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut comment écrire un ordre sql
    Bonjour,
    j'aimerai écrire un ordre sql qui fait des calculs mais je n'y arrive pas. En effet
    voilà le principe.
    $Table="matable";
    mes champs:nom,prenom,date_naissance,classe.
    date_naissance est sous la forme "2007-03-15"
    Je souhaite avoir le nom,prenom et classe des élèves dont l'âge se situe entre 18 et 20 ans.
    J'ai essayé ceci sans succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    $Table="matable";
    $date_actuel=date("Y,m,d");
    $age1=18;
    $age2=20;
    $sql="Select nom,prenom,classe,date_naissance,
    (YEAR($date_actuel)-YEAR(date_naissance)) - (RIGHT($date_actuel,5)<RIGHT(date_naissance,5))  AS age  FROM $Table where age between $age1 and $age2";
    $result=mysql_query($sql);
     
    while($leresultat=mysql_fech_array($result)){
           $lenom=$leresultat['nom'];
           $leprenom=$leresultat['prenom'];
           $laclasse=$leresultat['classe'];
     
          echo $lenom."-".$leprenom."-".$laclasse."<br>";
    }
    ?>
    L'erreur exacte de cet ordre est:
    Warning : mysql_fetch_array():supplied argument is not valid MYSQL result resource in ...........on line 351

    Je vous remercie d'avance de votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (YEAR($date_actuel)-YEAR(date_naissance)) - (RIGHT($date_actuel,5)<RIGHT(date_naissance,5))
    La j'avoue que je suis dubitatif : que veux tu faire exactement avec ce calcul précis ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    ce calcul permet de trouver l'âge à partir de la date de naissance puis faire la comparaison entre les deux âges donnés.
    Peut être vous avez une autre méthode !
    je vous remercie.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Essayons de la décortiquer :
    Je prend la date de l'année actuelle, à laquelle je soustrais l'année de naissance de la personne.
    A coté de ca je compare si la partie droite de ma date (à priori le jour si date_naissance est au format datetime sous mysql) avec le jour de naissance de la personne.

    Je soustrais enfin l'écart entre l'année actuelle et l'année de naissance avec le résultat de la comparaison des jours et je stocke dans un alias age...

    J'espère n'avoir pas fait d'erreur dans l'explication de cette commande mais si ce n'est pas le cas il y a comme un problème

Discussions similaires

  1. [phpMyAdmin] comment exporter la structure SQL des VIEW et dans le bon ordre ?
    Par Ekimasu dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/03/2009, 11h51
  2. [MySQL] Comment "stocker" ses ordres sql ?
    Par Neal Morse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/04/2008, 15h59
  3. [MySQL] Comment écrire une syntaxe SQL dans un echo
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/09/2006, 18h53
  4. Réponses: 1
    Dernier message: 29/03/2006, 11h33
  5. [MFC] comment écrire des requêtes SQL
    Par kitsune dans le forum MFC
    Réponses: 9
    Dernier message: 27/09/2005, 15h23

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