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 une variable et afficher le résultats [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Compter une variable et afficher le résultats
    Bonjour,
    donc voila je suis sur une base de donné mysql 5.0 et je voudrais dans cette base de donnée récuperer la variable $etat situé dans calendar et de pouvoir compté celon $etat est à 1 ou 2 ou 3 par exemple. ce qui correpondrais à
    1 = fait
    2 = en_cour
    3 = Retard

    Je veux pouvoir calculé le nombre $etat à 1 à 2 et 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <? php connecté bdb
    	$reponse1 = mysql_query ("SELECT $etat COUNT(*) AS nbre_commande1 FROM calendar");
    	$donnees1 = mysql_fetch_array ($reponse1);
    	$reponse2 = mysql_query ("SELECT $etat COUNT(*) AS nbre_commande2 FROM calendar");
    	$donnees2 = mysql_fetch_array ($reponse2);
    	$reponse3 = mysql_query ("SELECT $etat COUNT(*) AS nbre_commande3 FROM calendar");
    	$donnees3 = mysql_fetch_array ($reponse3);
     
    ?>
    pour avoir sur ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? echo $donnees1['nbre_commande']; ?> commandes faite , <? echo $donnees2['nbre_commande2']; ?>  commandes en cour , <? echo $donnees3['nbre_commande3']; ?> commandes en retard.
    De ce style là.
    Par ailleur la varible $etat doit être de qu'elle type? car actuellement de type 'TEXT' (latin1_swedish_ci)

    Pour plus d'infos je suis à avoir dispo. Merci en esperant été assez clair
    Merci beaucoup d'avance!

    Bonne journée

  2. #2
    Membre régulier Avatar de pioule
    Profil pro
    Inscrit en
    Août 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 66
    Points : 97
    Points
    97
    Par défaut
    Salut !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query ("SELECT COUNT(identifiant) AS nbre_commande1 FROM calendar WHERE etat=1")
    avec "identifant" l'id de tes enregistrements, et etat le champ qui indique l'état de l'enregistrement

    Sinon le champ etat peut très bien être du type INT(1) (j'espère ne pas dire de connerie ^^)

  3. #3
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Salut.

    Si tu veux pouvoir récupérer tous les états d'un coup, une solution assez efficace est la suivante, te permettant de réduire le nombre de requêtes (élément LENT du programme) à la base.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $libelle = array ("", "commandes faite", "commandes en cours", "commandes en retard");
    $sql = 'SELECT etat, count(*) as "compte" FROM calendar GROUP BY etat';
    $reponses = mysql_query($sql);
    while ($donnees = mysql_fetch_array ($reponses)) {
      echo $donnees['compte']." ".$libelle[$donnees['etat']];
    }
    ?>

    Pour ce qui concerne le type de la variable etat, TEXT ne me semble pas le plus approprié. Vu que l'état est un code, donc quelque part une sorte d'index d'une autre table, en fonction du nombre de valeurs possibles, tu peux le mettre en valeur entière (si tu n'as que les 3 valeurs, un TINYINT est suffisant) ou en simple caractère CHAR. Ma préférence personnelle irait sur le TINYINT.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci Beaucoup je vais voir ca si j'y arrive :p

    [EDIT] C'est bon sa marche merci !!!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/08/2013, 17h59
  2. [ODBC] Exécuter une requête et afficher les résultats
    Par LawKnight dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/04/2009, 23h47
  3. PHP/FLASH récupérer une variable pour afficher une image dans un clip
    Par Touillette85 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/12/2008, 10h02
  4. Réponses: 9
    Dernier message: 17/11/2006, 08h25
  5. Réponses: 37
    Dernier message: 25/04/2005, 21h47

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