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 :

compter le nombre d'un mot dans une table sql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut compter le nombre d'un mot dans une table sql
    Bonjour,
    Voici mon probleme :
    exemple :
    dans une table sql j'ai 2 champs : nom et type.
    par exemple la table contient dans le champ nom gold 2 fois.
    et je compte faire un calcule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    $sql="select * from t_societe";
    $result=mysql_query($sql);
     
      while($row=mysql_fetch_array($result)){
      $type_sp="gold";
      for ($i=0;$i<count($type_sp);$i++){
      $i++;
      }}
    ?>
    en fin je compte afficher le nombre total exemple : 2
    Merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    D'abord count est une fonction qu'on applique à un tableau. Or toi tu l'appliques à une chaine de caractères. Donc dans le meilleur des cas, tu vas obtenir 1.
    Ensuite, je crois que tu ne maitrises pas bien l'exploitation de résultat d'une requête mysql. A chaque résultat (c'est-à-dire à chaque tour de la boucle) tu as un enregistrement autrement dit une ligne de ta table. Donc tout ce que tu as à faire c'est vérifier si nom est égal à ta valeur et si oui incrémenter le compteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql="select * from t_societe";
    $result=mysql_query($sql);
    $type_sp="gold";
    $compteur = 0; 
      while($row=mysql_fetch_array($result)){
        if ($row['nom'] == $type_sp) $compteur++;
      }
    echo " il y a $compteur fois le nom $type_sp";
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Tu peux aussi faire ton count en SQL.

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Citation Envoyé par Djakisback Voir le message
    Tu peux aussi faire ton count en SQL.
    Je dirais même plus tu DOIS le faire dans le sql

  5. #5
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Un petit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(nom) as Nb , nom from t_societe group by 2
    Va te retourné un tableau avec la colonne "Nb" et la colonne "nom" qui te donnera exactement ce que tu veux (en tout cas pour les noms).

  6. #6
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    "Group by 2" ?

    Sinon un petit :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(nom) AS nb
    FROM t_societe
    WHERE nom = "gold";

  7. #7
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    Merci a celira ça marche, et merci a tous

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

Discussions similaires

  1. Compter le nombre de même ID dans une table
    Par arngrimur dans le forum Linq
    Réponses: 5
    Dernier message: 19/01/2012, 11h46
  2. compter le nombre de ligne égales dans une table
    Par Bigoodheart dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/11/2010, 18h08
  3. Compter le nombre de "cases" remplies dans une table
    Par benfel dans le forum Développement de jobs
    Réponses: 17
    Dernier message: 09/03/2010, 14h47
  4. [AC-2000] compter le nombre d'enregistrements selectionner dans une requete sql
    Par charlou74 dans le forum VBA Access
    Réponses: 20
    Dernier message: 04/02/2010, 17h50
  5. nombre d'enregistrements limite dans une table sql
    Par lilou229 dans le forum Outils
    Réponses: 3
    Dernier message: 30/01/2007, 15h21

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