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 :

Order by qui marche pas, Que faire ? [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Citation Envoyé par mulbek
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT agents.IdAgent, agents.Nom, agents.Prenom, agents.CodeAlliance, entites.Entite FROM agents, entites WHERE agents.IdAgent='163' AND entites.IdEntite='2'' ORDER BY Nom'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT agents.IdAgent, agents.Nom, agents.Prenom, agents.CodeAlliance, entites.Entite FROM agents, entites WHERE agents.IdAgent='182' AND entites.IdEntite='1'' ORDER BY agents.Prenom'
    C'est bien ce que je te dis, chacune de ces requêtes ne te donnera qu'UN SEUL agent. Donc order by est INUTILE ici.
    Tu obtiens plein de requêtes car tu es dans un while
    A chaque itération tu demande à mysql de te donner des renseignements sur UN SEUL Agent.

    ==> ce que je te propose :
    une seule requête qui sort tous les renseignements
    cette requête est ordonnée en fonction du désir de l'utilisateur.
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    Ca marche, il me trie bien ma requette sauf qu'il reaffiche les agents autant de fois qu'il y a d'entite :
    j'ai donc :

    Agent 1 : entité 1
    Agent 1 : entité 2
    Agent 1 : entité 3
    Agent 1 : entité 4
    Agent 2 : entité 1
    Agent 2 : entité 2
    Agent 2 : entité 3
    Agent 2 : entité 4

    ....

    Alors qu'a la base a chaque agent = 1 entite ; IdAgent de ma table agent = IdAgent de ma table entité

    Mais il me les trie bien

    Source :




    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
    19
    20
     
    	$tri="Nom"; 
    	if (isset($_POST["choix"])) 
    	$tri=$_POST["choix"]; 
     
    	$req = "SELECT agents.IdAgent, agents.Nom, agents.Prenom, agents.CodeAlliance, entites.Entite FROM agents, entites ";
    	$req .="ORDER BY '".$tri."'"; 
    	$res = mysql_query($req);
     
    while ($ligne = mysql_fetch_array($res)) 
    {
    	echo "<tr valign='top' class='TDDonnees' onmouseover=\"setPointer('over', this, '#FFFFFF', '', '', '')\" onmouseout=\"setPointer('out', this, '#f5f5f5', '', '', '')\">
        <td >".$ligne['Nom']."</td>
        <td >".$ligne['Prenom']."</td>
    	<td >".$ligne['CodeAlliance']."</td>
        <td>".$ligne['Entite']."</td>
        <td ><a href=\"ModifAgent.php?IdAgent=".$temp2['IdAgent']."\">[Modifier]</a></td>
        <td ><a href=\"ValidSuppAgent.php?IdAgent=".$temp2['IdAgent']."\">[Supprimer]</a></td>
      </tr>";
      }

  3. #23
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Y manquerait pas un petit truc du genre

    WHERE agents.IdEntite=entites.IdEntite

    pour faire le lien entre les deux tables agents et entites
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    MERCI , ca marche

    J'avais essayé et ca marchait pas, mais en fesant un echo de ma requette je me suis rendu compte qu'il manquait un espace.

    Dis moi y'a moyen d'éviter les boutons de tri en fesant en sorte qu'en cliquant sur Nom ou prenom dans les <th> cela fonctionne aussi ????

  5. #25
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Ca devient un problème HTML CSS

    Je ne suis pas assez compétent
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    J'ai trouvé !!!! Merci beaucoup :
    source :



    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <th><a class='ath' href=ListeAgentAdmin.php?choix=Nom>Nom</a></th>
        <th><a class='ath' href=ListeAgentAdmin.php?choix=Prenom>Prénom</a></th>
    	<th><a class='ath' href=ListeAgentAdmin.php?choix=CodeAlliance>Code Alliance</a></th>
        <th><a class='ath' href=ListeAgentAdmin.php?choix=Entite>Entité</a></th>
     
     
     
    $tri=isset($_GET["choix"])?$_GET["choix"]:"Nom";
     
    	//$tri="Nom"; 
    	if (isset($_POST["choix"])) 
    	$tri=$_POST["choix"]; 
     
    	$req = "SELECT agents.IdAgent, agents.Nom, agents.Prenom, agents.CodeAlliance, entites.Entite FROM agents, entites WHERE agents.IdEntite=entites.IdEntite ";
    	$req .="ORDER BY '".$tri."'"; 
    	$res = mysql_query($req);
     
    while ($ligne = mysql_fetch_array($res)) 
    {
    	echo "<tr valign='top' class='TDDonnees' onmouseover=\"setPointer('over', this, '#FFFFFF', '', '', '')\" onmouseout=\"setPointer('out', this, '#f5f5f5', '', '', '')\">
        <td >".$ligne['Nom']."</td>
        <td >".$ligne['Prenom']."</td>
    	<td >".$ligne['CodeAlliance']."</td>
        <td>".$ligne['Entite']."</td>
        <td ><a href=\"ModifAgent.php?IdAgent=".$temp2['IdAgent']."\">[Modifier]</a></td>
        <td ><a href=\"ValidSuppAgent.php?IdAgent=".$temp2['IdAgent']."\">[Supprimer]</a></td>
      </tr>";
      }

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [SQL] Jointure,Group BY et ORDER BY COUNT qui marche pas
    Par Stef784ever dans le forum Langage SQL
    Réponses: 8
    Dernier message: 17/08/2005, 12h28
  2. requete(jointure 2 tables) qui marche pas
    Par DaxTaz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2004, 17h50
  3. une comparaison qui marche pas.
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/02/2004, 15h59
  4. [LG]Split qui marche pas
    Par macluvitch dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2003, 18h19
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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