probleme de classement d une requete

probleme de classement d une requete - PHP - Programmation

Marsh Posté le 10-02-2005 à 09:39:05    

salut
j ai une petite question :
comment fait on pour classer par ordre alphabetique les resultat d'une requete sur plusieur table???
par ex SELECT tab1.num1,tab1.libelle1,tab2.num2,tab2.libelle2 FROM tab1,tab2 ORDER BY ???????
merci d avance

Reply

Marsh Posté le 10-02-2005 à 09:39:05   

Reply

Marsh Posté le 10-02-2005 à 09:46:01    

Ben ORDER BY tab1.num1, tab2.num2....

Reply

Marsh Posté le 10-02-2005 à 09:46:13    

SELECT tab1.num1,tab1.libelle1,tab2.num2,tab2.libelle2 FROM tab1,tab2 ORDER BY tab1.libelle1, tab2.libelle2
non ?

Reply

Marsh Posté le 10-02-2005 à 09:51:41    

Ce n'est pas une question PHP, mais une question SQL [:kiki]
 
Rappel : PHP <> MySQL


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 10-02-2005 à 10:44:54    

ui je suis désolé merci pour le order by  
mais apres je fais comment pour afficher?? le but c est de le mettre dans une liste déroulante comme ca:
 
<form action="pop2.php" method="post" >
<table><tr>
             <td align="center" valign="center"><b><u>plan de classement</u> : </td> <td align="center" valign="center"> <select name="num">  
             <?
             require_once ('../connect.php');
             $connexion=mysql_pconnect (SERVEUR,NOM,PASSE);
 
             if (!mysql_select_db (BASE,$connexion))
             {
             echo "Désolé, accès à la base ".BASE." impossible\n";
             exit;
             }
             $resultat = mysql_query("SELECT class1.numClass1,libelleC1,class2.numClass2,libelleC2,class3.numClass3,libelleC3 FROM class1,class2,class3 ORDER BY libelleC1,libelleC2,libelleC3",$connexion)or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
             if($resultat)
                          {  
                          while($class = mysql_fetch_object($resultat))
                                      {
                                                echo "<option value=$Class ->class1.numClass1>$Class -> $libelleC1";
                                                echo "<option value=$Class ->class2.numClass2>$Class -> $libelleC2";
                                                echo "<option value=$Class ->class3.numClass3>$Class -> $libelleC3";
 
                                       }
                        }
                          ?>
            </SELECT> </tr></table>
 
 
je suis un peu perdu :(

Reply

Marsh Posté le 10-02-2005 à 10:51:34    

Tu veux afficher quoi exactement dans ton <select> ?

Reply

Marsh Posté le 10-02-2005 à 11:30:14    

les libellé par ordre alphabetique

Reply

Marsh Posté le 10-02-2005 à 11:30:49    

Ben y'a un seul <option> par libellé alors

Reply

Marsh Posté le 10-02-2005 à 11:37:30    

ui mais je me oui mais je met quoi alors? étant donné que qu ils ont des noms différents...
tu pourrais me faire le script du select?
jsaisi pas du tout comment il faut faire :(
 

Reply

Marsh Posté le 10-02-2005 à 11:38:28    

Ben pour chaque ligne de ta requête, tu affiche un <option> correspondant :??: ou alors y'a un truc que j'ai pas compris

Reply

Marsh Posté le 10-02-2005 à 11:38:28   

Reply

Marsh Posté le 10-02-2005 à 14:10:21    

le probleme n est pas dans le select meme lorsque je veux juste affiché les resultat ca ne fonctionne pas... :(
avec un "SELECT tab1.libel1,tab2.libel,tab3.libel FROM tab1,tab2,tab3 ORDER BY tab1.libel,tab2.libel,tab3.libel"  
ca me sort un truc du genre
A
  A
    A
    B
    C
    .....
  B
    A
    B
    C
    ...
   C
   .....
B
  A
     A
     B
     C
fin bon j espere que c est assez clair comme exemple...
jsuis désesperer:(
   

Reply

Marsh Posté le 10-02-2005 à 14:16:48    

C'est normal, il va d'abord trier suivant tab1.libel, ensuite avec tab2.libel et enfin avec tab3.libel...

Reply

Marsh Posté le 10-02-2005 à 14:21:08    

PS : une erreur horrible dans ton code  :

Code :
  1. echo "<option value=$Class ->class1.numClass1>$Class -> $libelleC1";
  2. ce serait plutot
  3. echo "<option value=$Class->numClass1>$Class->libelleC1</option>";


Message édité par Profil supprimé le 10-02-2005 à 14:21:46
Reply

Marsh Posté le 10-02-2005 à 16:28:52    

FlorentG a écrit :

C'est normal, il va d'abord trier suivant tab1.libel, ensuite avec tab2.libel et enfin avec tab3.libel...


 
bah ouais j avais remaqué :(

Reply

Marsh Posté le 10-02-2005 à 16:30:19    

spike a écrit :

PS : une erreur horrible dans ton code  :

Code :
  1. echo "<option value=$Class ->class1.numClass1>$Class -> $libelleC1";
  2. ce serait plutot
  3. echo "<option value=$Class->numClass1>$Class->libelleC1</option>";



 
yepp j avais vu cette erreur
mais je galere tellement que j ai viré le select et je fais un affichage simple
donc je recapitule avant de capituler :(
jveux classer par ordre alphabetique des libellés placé dans 3 tables differente...
ca fait une journée entiere que je passe sur 5 ligne :'(

Reply

Marsh Posté le 10-02-2005 à 16:31:10    

romDR a écrit :

bah ouais j avais remaqué :(


Tu veux le trier comment alors ? Donne-nous quelques enregistrements non-triés, puis le résultat trié

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed