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 :

Question un tri un peu particulier


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Par défaut Question un tri un peu particulier
    bonjour!


    J'ai deux requêtes imbriquées, (vori code ci-dessous, j'écris ca vite fait, il peux y avoir des erreurs :-)) .

    La variable $valeur est le produit de la sous-requête. J'aurais besoin de savoir svp si il était possible d'effectuer une opération de tri ASC et DESC selon cette variable $valeur. Comme elle n'est issue que de la sous-requête, je me demande si c'est techniquement faisable. Si c'est possible avez vous une idée de la façon de le réaliser ???

    Merci pour votre aide !
    Fx


    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
    $query = "select * from `table`";
    $result = mysql_query($query); 
    $i=1; 
    while ( $row = mysql_fetch_array($result))
    {
    $id = $row["id"];
    
    $query2 = "select * from `table2` WHERE id='$id '";
    $result2 = mysql_query($query2);
    while ( $row2 = mysql_fetch_array($result2))
    {
    $valeur = $row2["valeur"];
    echo "bla bla bla bla";
    }
    }	
    $i++;

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    En ajoutant la mention ORDER BY dans ta requête SQL ?
    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
    $query = "select * from `table`";
    $result = mysql_query($query); 
    $i=1; 
    while ( $row = mysql_fetch_array($result))
    {
    $id = $row["id"];
    
    $query2 = 'select * from `table2` WHERE id='.$id.' ORDER BY valeur DESC';
    $result2 = mysql_query($query2);
    while ( $row2 = mysql_fetch_array($result2))
    {
    $valeur = $row2["valeur"];
    echo "bla bla bla bla";
    }
    }	
    $i++;

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Par défaut
    salut,

    hmm non en fait j'ai besoin de faire un "order BY valeur DESC" sur la requête n°1 $query, alors que valeur est justement le produit de la sous-requête.

    J'ai un problème de chronologie dans mes évènements !

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Salut,

    Si j'ai bien compris :
    Etape 1 : select * from table; qui te permet de récupérer l'id
    Etape 2 : select * from table2 where id=id order by valeur
    Etape 3 : tu récupères la valeur.

    Ton objectif c'est de faire un order by la valeur que tu récupère en étape 3 sur la requete de l'étape 1?

    Tu as effectivement un problème de chronologie!!

    Donne nous plus d'infos pour pouvoir t'aider.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    et si tu faisais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $query="
    SELECT 
    table.id,table2.valeur 
    FROM `table` 
    LEFT JOIN table2 
    ON ( table2.id=table.id) 
    WHERE table2.id IS NOT NULL
    ORDER BY table2.valeur ASC"
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $result = mysql_query($query); 
    $i=1; 
    while ( $row = mysql_fetch_array($result))
    {
    $id=$row["id"];
    $valeur = $row["valeur"];
    echo "bla bla bla bla";
    }	
    $i++;

  6. #6
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Par défaut
    ah oui les jointures, je n'y avais pas pensé :-)
    merci pour ton code, je vais l'essayer de suite !

Discussions similaires

  1. [XL-2007] Tri un peu particulier
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 19/01/2013, 19h07
  2. Tri un peu particulier
    Par bucheron007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/01/2009, 14h09
  3. Un tri un peu particulier
    Par GregPeck dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/06/2006, 15h32
  4. #define un peu particulier
    Par greuh dans le forum C
    Réponses: 14
    Dernier message: 12/10/2005, 16h42
  5. Réponses: 2
    Dernier message: 05/01/2004, 11h23

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