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 :

Afficher les résultats de recherche par ordre décroissant


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut Afficher les résultats de recherche par ordre décroissant
    Bonjour,
    j'ai une question :

    j'ai une resultats d'affichage et je souhaite d'ordonnée par order decroissant selon une variable "$rsv".

    voila ce code :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <?php
    while($resultats = mysql_fetch_array($query) ) //boucle affichant les résultats
              {
    $req_select=mysql_query("select * from terme,titre, document where (document.code_doc=terme.code_doc and document.code_doc=titre.code_doc and terme.code_doc=titre.code_doc and terme.terme=titre.terme_titre and terme.code_doc='".$resultats["code_doc"]."' and  titre.code_doc='".$resultats["code_doc"]."'  and terme.terme='".$resultats["terme"]."' and document.type_offre='$offre') AND ($valeur_requete) ");
    					   $req_select_terme=mysql_query("select * from terme, document where (document.code_doc=terme.code_doc   and  terme.code_doc='".$resultats["code_doc"]."') and document.type_offre='$offre' AND ($valeur_requete1) ");
    					   $req_select_titre=mysql_query("select * from titre, document where (document.code_doc=titre.code_doc  and titre.code_doc='".$resultats["code_doc"]."') and document.type_offre='$offre' AND ($valeur_requete2) ");
    $x1=mysql_num_rows($req_select);  
    $x2=mysql_num_rows($req_select_terme);  
    $x3=mysql_num_rows($req_select_titre); 
    if($x1!=0)
       {
          while($req_select1=mysql_fetch_array($req_select))
           {
             if(!array_key_exists($req_select1["url"], $somme))
                 { $somme[$req_select1["url"]] = 0; }
              if(!array_key_exists($req_select1["url"], $somme2))
                 { $somme2[$req_select1["url"]] = 0; }
             $somme[$req_select1["url"]] +=  $req_select1["poids_titre"];
             $somme2[$req_select1["url"]] +=  $req_select1["poids_titre"] * $req_select1["poids_titre"];	
             }
         $somme_carre=$somme2[$resultats["url"]];
         $racine_sommecarre=sqrt($somme2[$resultats["url"]]);
          $somme_mot=sqrt($nombre_mots);
           $rsv=$somme[$resultats["url"]]/($somme_mot*$racine_sommecarre);
          $affichage="select titre,resume,type_offre FROM document WHERE url='".$resultats['url']."'";
           $affichage1=mysql_query($affichage); 
           $affichage2 = mysql_fetch_array($affichage1);
           echo '<p align="left" style="margin-bottom:-60px; font-size=20px; 
    margin-left:18px;"><a href=' .$resultats["url"]. '>'.$affichage2['titre'].'</a>...<p><br>
    		       <p><hr  style="border-bottom:solid 1px #000066;width:870px; margin-left:3px; margin-bottom:-50px;"></hr></p><br>
    		       <p align="left" style="margin-bottom:-50px; margin-left:35px; margin-top:-30px; margin-right:20px;">'.$affichage2['resume'].'...<p><br>
     <p align="left" style="margin-bottom:-50px; color:#0F7C91; margin-left:35px;">' .$resultats["url"] . '<p><br><br><br><p>'.$rsv.'</p>
    <p>'.$somme[$resultats["url"]].'</p><p>&nbsp;</p>';      
    } //finif
     elseif($x2!=0)
         {
        while ($req_select2=mysql_fetch_array($req_select_terme))
         {
            if(!array_key_exists($req_select2["url"], $somme))
              {
                 $somme[$req_select2["url"]] = 0;
               }
          if(!array_key_exists($req_select2["url"], $somme2))
             {
               $somme2[$req_select2["url"]] = 0;
              }
           $somme[$req_select2["url"]] +=  $req_select2["poids"];
          $somme2[$req_select2["url"]] +=  $req_select2["poids"] * $req_select2["poids"];
      }
       $somme_carre=$somme2[$resultats["url"]];
       $racine_sommecarre=sqrt($somme2[$resultats["url"]]);
       $somme_mot=sqrt($nombre_mots);
       $rsv=$somme[$resultats["url"]]/($somme_mot*$racine_sommecarre);
       $affichage="select titre,resume,type_offre FROM document WHERE url='".$resultats['url']."'";
       $affichage1=mysql_query($affichage); 
       $affichage2 = mysql_fetch_array($affichage1);
       echo '<p align="left" style="margin-bottom:-60px; font-size=20px; margin-left:18px;"><a href=' .$resultats["url"]. '>'.$affichage2['titre'].'</a>...<p><br>
        <p><hr  style="border-bottom:solid 1px #000066;width:870px; margin-left:3px; margin-bottom:-50px;"></hr></p><br>
       <p align="left" style="margin-bottom:-50px; margin-left:35px; margin-top:-30px; margin-right:20px;">'.$affichage2['resume'].'...<p><br>
        <p align="left" style="margin-bottom:-50px; color:#0F7C91; margin-left:35px;">' .$resultats["url"] . '<p><br><br><br>  <p>'.$rsv.'</p>
     <p>'.$somme[$resultats["url"]].'</p>
     <p>&nbsp;</p>';    
    }
    elseif($x3!=0)
      {
        while($req_select3=mysql_fetch_array($req_select_titre))
         {
            if(!array_key_exists($req_select3["url"], $somme))
             {
               $somme[$req_select3["url"]] = 0;
              }
          if(!array_key_exists($req_select3["url"], $somme2))
               {
                  $somme2[$req_select3["url"]] = 0;
                }
           $somme[$req_select3["url"]] +=  $req_select3["poids_titre"];
          $somme2[$req_select3["url"]] +=  $req_select3["poids_titre"] * $req_select3["poids_titre"];
       }
       $somme_carre=$somme2[$resultats["url"]];
       $racine_sommecarre=sqrt($somme2[$resultats["url"]]);
       $somme_mot=sqrt($nombre_mots);
       $rsv=$somme[$resultats["url"]]/($somme_mot*$racine_sommecarre);
       $affichage="select titre,resume,type_offre FROM document WHERE url='".$resultats['url']."'";
      $affichage1=mysql_query($affichage); 
       $affichage2 = mysql_fetch_array($affichage1);
        echo '<p align="left" style="margin-bottom:-60px; font-size=20px; margin-left:18px;"><a href=' .$resultats["url"]. '>'.$affichage2['titre'].'</a>...<p><br>
      <p><hr  style="border-bottom:solid 1px #000066;width:870px; margin-left:3px; margin-bottom:-50px;"></hr></p><br>
      <p align="left" style="margin-bottom:-50px; margin-left:35px; margin-top:-0px; margin-right:20px;">'.$affichage2['resume'].'...<p><br>
     <p align="left" style="margin-bottom:-50px; color:#0F7C91; margin-left:35px;">' .$resultats["url"] . '<p><br><br><br>
    <p>'.$rsv.'</p><p>'.$somme[$resultats["url"]].'</p><p>&nbsp;</p>';    
     }   
     }
    ?>

    svp est_ce qu'il ya qlq peut me répondre.

    Merci d'avance.

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Il me semble que tu peux tout simplement dans ta requete utiliser

    ORDER BY rsv DESC

    mais en multitables je ne suis pas sur de moi ...

    En plus il faudrait que rsv soit une valeur d'une des table ?

  3. #3
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut
    Bonjour,

    mais le variable "$rsv" ni pas un champs d'une table.

    et aussi j'ai trois "if"

    donc est_ce q'il ya une autre soution pour le résoudre.

    Merci d'avance.

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 14
    Par défaut
    je pense cqr rsv ne comporte que une seul information c'est un variable alors c'est impossible et dans une requete l'ordre des tb sinon tu peus les mettre dans un array et faire l'ordre

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par fahedouch Voir le message
    je pense cqr rsv ne comporte que une seul information c'est un variable alors c'est impossible et dans une requete l'ordre des tb sinon tu peus les mettre dans un array et faire l'ordre
    Oh OUI !! excelent plan ...
    tout comme ça vient dans un array et tri !

Discussions similaires

  1. Afficher par ordre décroissant
    Par hadjiphp dans le forum Langage
    Réponses: 1
    Dernier message: 12/05/2009, 01h09
  2. Afficher les résultats d'une recherche
    Par baouk2000 dans le forum Prolog
    Réponses: 7
    Dernier message: 03/03/2009, 12h07
  3. Résultats de recherche par ordre alphabétique
    Par dcarroz dans le forum SharePoint
    Réponses: 1
    Dernier message: 30/10/2008, 13h57
  4. Réponses: 7
    Dernier message: 21/09/2006, 08h44
  5. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56

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