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

Langage PHP Discussion :

Calculer le poids des termes


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut Calculer le poids des termes
    Bonjour,
    j'ai une question:
    je cherche comment calculer la somme des poids des termes qui fait partie dans le même URL.
    j'ai un moteur de recherche et quand l'utilisateur rentre les mots à rechercher je prend chaque terme rentré par l'utilisateur et je fait la recherche dans la base de donnéet j'afficher pour chaque terme son poids et son url.

    ma question je cherche comment je peut calculer la somme des poids poids des termes qui contien dans le même URL.

    voila le 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
     
    <?php
     $selection_recherche = mysql_query("SELECT url,titre,terme,poids
             FROM document,terme
             WHERE document.code_doc=terme.code_doc AND type_offre='$offre' AND $valeur_requete ORDER BY poids DESC "); //requête avec le résultat de la boucle dedans
     
          }
     
     
     
     
        //$nombre_resultats1 = mysql_fetch_array($selection_recherche);
     
         $nombre_resultats = mysql_num_rows($selection_recherche); //compte le nombre d'entrées sélectionnées par la recherche
         if ($nombre_resultats == 0) //s'il n'y a pas de résultat
            {
              echo '</br>aucun resultat.<a href="recherche.php">recommencer</a>';
            }
        else //il y a au moins un résultat
           {
     
             echo '</br>nombre de résultats: ' . $nombre_resultats . ':<br /><br />'; //nombre de résultats
    		    $Somme=0;
             while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les résultats
                  {
     
    		        $Somme += $resultats["poids"]; //faire la somme des poids des termes 
    				echo("$Somme");
                    echo '<strong>Terme:</strong> ' . $resultats['terme'] . '<br />
                          <strong>URL:</strong><a href=' . $resultats['url'] . '>' . $resultats['url'] . '</a><br />
                          <strong>Poids:</strong> ' . $resultats['poids'] . '<br />
                         <strong>Titre:</strong> ' . $resultats['titre'] . '<br /><br />';
                  }
             echo '<a href="recherche.php">recommencer</a>';
           }
    ?>

    quand je fait ça "$somme" elle fait la somme de tout les poids de tout les termes de tout les URL.

    svp de me répondre j'ai besoin d'une réponse.
    merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut,
    Ta boucle n'initialise pas somme a chaque nouveau terme.
    Tu pourrais calculer la somme directement dans la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     $selection_recherche = mysql_query("SELECT url,titre,terme,SUM(poids) AS somme
             FROM document,terme
             WHERE document.code_doc=terme.code_doc AND type_offre='$offre' AND $valeur_requete GROUP BY url,titre,terme ORDER BY poids DESC "); //requête avec le résultat de la boucle dedans
     
          }
    ?>
    Ce que j'ai fait ?
    group by : j'ai fait l'aggregat de tous les triples url/titre/term semblable, et j'ai utilisé la fonction d'aggregat SUM pour faire la somme des poids de ces triples semblables.

    Z.

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. Calcul du poids des mois
    Par V i n c e n t dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/02/2010, 08h05
  3. [eZ Publish] Calculer des frais de ports en fonction du poid des produits
    Par boubil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 31/07/2009, 22h30
  4. Réponses: 2
    Dernier message: 28/09/2005, 17h08

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