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 :

liste contenant le nombre de fois qu’apparaît le mot dans la bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 44
    Par défaut liste contenant le nombre de fois qu’apparaît le mot dans la bdd
    Bonjour ,
    Je voudrais compter le nombre de fois qu’apparaît chaque nom de produit dans ma base de données pour pouvoir ensuite les ordonnées du plus grand au plus petit. Mais le problème c'est que je n'arrive pas comparer et incrémenter le compteur de chaque nom.
    voici ce que j'ai tenter de faire :
    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
    $i = 0;
    $compt = 0;
    $lesNomAll[] = array();
    $lesNomDis[]  = array();
    $countUse = array();
    $req = $bdd -> query('SELECT ps,nomProgramme FROM info_version');
      while ($a = $req -> fetch()) {
       $lesNomAll[] = $a['nomProgramme'];
      }
      foreach ($lesNomAll as $key => $value) {
        if($lesNomAll[i] == $lesNomAll[i+1]){
            $countUse[] = $compt++;
        }
        else{
          $i++;
        }
      }
    Merci d'avance de votre aide , si vous avez besoin de plus de précision je suis la !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Il vaut mieux laisser le SGBD compter :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT nom_programme, COUNT(*) AS nombre
    FROM info_version
    GROUP BY nom_programme
    ORDER BY COUNT(*) DESC
    La requête classe les programmes du plus cité au moins cité dans la table.
    Ensuite, vous n'avez plus qu'à parcourir le tableau de résultat pour l'afficher directement sans calcul.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 44
    Par défaut
    Merci beaucoup , je n'avais pas du tout penser a faire comme cela !

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Pourquoi ne pas mettre "nom_programme" dans une nouvelle table et l'id de cette nouvelle table comme clé étrangère dans info_version.

    A+.

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Pourquoi ne pas mettre "nom_programme" dans une nouvelle table et l'id de cette nouvelle table comme clé étrangère dans info_version.


    Si les noms des programmes ne sont pas toujours écrits de la même manière, vos statistiques seront fausses. Vous vous rendrez compte rapidement en exécutant la requête directement dans MySQL.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/12/2015, 10h38
  2. le nombre de fois ou un mot existe dans une ligne
    Par mohammed.badre dans le forum Débuter
    Réponses: 4
    Dernier message: 23/11/2011, 12h10
  3. [XL-2003] compter le nombre de fois qu'un mot apparait
    Par isodoro dans le forum Excel
    Réponses: 3
    Dernier message: 05/04/2009, 08h24
  4. Réponses: 4
    Dernier message: 06/12/2007, 16h46
  5. Réponses: 1
    Dernier message: 01/05/2007, 10h39

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