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 :

SELECT COUNT n'affiche aucun résultat ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut SELECT COUNT n'affiche aucun résultat ?
    Bonjour à tous
    Pardonnez moi par avance sur mes lacunes en matière de programmation, je suis en plein apprentissage.
    A tout hasard, si cela est nécessaire, mon serveur local est wampserver.


    J'ai créer une base "bddformulaire" avec une table "user" et 3 champs "id", "nom", "telephone". Le code de mon fichier php est le suivant :
    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
    <?php
    include("header.html");
     
    // on se connecte à notre base
        $base = mysql_connect ('localhost', 'root', '');
        mysql_select_db ('bddformulaire', $base) ;
        $select = mysql_query("SELECT * FROM bddformulaire") ; // On se sert de mysql_query() pour éxécuter la requête SQL
    // requette SQL :
        $query = "SELECT count(*) FROM `user`";
     
        $recuperation = mysql_query($query) or die("Query failed" );
        echo "<table  border=\"1\" align=\"center\" width=\"1000\">\n"; // A ne pas mettre dans le while sinon il va re-générer un tableau à chaque fois
     
        echo "<td align=\"center\" bgcolor=\"#edc113\">";
    	echo "id";        
        echo "</td>";
    	echo "<td align=\"center\"bgcolor=\"#edc113\">";
    	echo "Nom";        
        echo "</td>";
    	echo "<td align=\"center\"bgcolor=\"#edc113\">";
    	echo "telephone";        
        echo "</td>";
     
    $num_ligne=0;
    while ($data= mysql_fetch_array ($recuperation))
    {
    if ($num_ligne % 2 ==0)echo "<tr bgcolor=\"#ececec\">";
    else echo "<tr bgcolor=\"#f80000\">";
    ?>
    <td><?php echo $data["id"];?></td>
    <td><?php echo $data["nom"];?></td>
    <td><?php echo $data["telephone"];?></td>
    </tr>
    <?php
    $num_ligne = $num_ligne+1;
    }
    echo "</table>";
     
    mysql_free_result();
    // Déconnexion de la base de données
    mysql_close();


    Si je mets comme requête $query = "SELECT * FROM `user`";........... Ma page m'affiche correctemet l'id, le nom et le telephone.
    Par contre avec la requête $query = "SELECT count(*) FROM `user`";........ Je n'ai pas le nombre d'enregistrements, la ligne est vide ?
    Si je mets la requête directement dans phpmyadmin SELECT count(*) FROM `user`.....j'ai le resultat count(*) = 4

    Si quelqu'un pouvait m'orienter pour m'enlever cette épine du pied.
    par avance merci.

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Si tu fais un :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM `user`

    Comme tu l'as dis la requête va seulement te renvoyer 4.

    Donc ton :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while ($data= mysql_fetch_array ($recuperation))
    {
    if ($num_ligne % 2 ==0)echo "<tr bgcolor=\"#ececec\">";
    else echo "<tr bgcolor=\"#f80000\">";
    ?>
    <td><?php echo $data["id"];?></td>
    <td><?php echo $data["nom"];?></td>
    <td><?php echo $data["telephone"];?></td>
    </tr>
    <?php
    $num_ligne = $num_ligne+1;
    }

    Ne peux pas marcher car ta requête ne retourne pas les colonne id, nom et téléphone....

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Kreepz Voir le message
    Si tu fais un :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM `user`

    Comme tu l'as dis la requête va seulement te renvoyer 4.

    Donc ton :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while ($data= mysql_fetch_array ($recuperation))
    {
    if ($num_ligne % 2 ==0)echo "<tr bgcolor=\"#ececec\">";
    else echo "<tr bgcolor=\"#f80000\">";
    ?>
    <td><?php echo $data["id"];?></td>
    <td><?php echo $data["nom"];?></td>
    <td><?php echo $data["telephone"];?></td>
    </tr>
    <?php
    $num_ligne = $num_ligne+1;
    }

    Ne peux pas marcher car ta requête ne retourne pas les colonne id, nom et téléphone....
    Merci !
    Je m'en suis rendu compte le message posté. J'ai donc rectifié avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><?php echo $data["nbre"];?></td>
    et j'ai toujours aucun affichage de résultat

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Peux-tu mettre le code complet?

  5. #5
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Kreepz Voir le message
    Peux-tu mettre le code complet?
    Entendu le voici :

    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
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    <?php
    include("header.html");
     
        // on se connecte à notre base
        $base = mysql_connect ('localhost', 'root', '');
        mysql_select_db ('bddformulaire', $base) ;
      $select = mysql_query("SELECT * FROM bddformulaire") ; // On se sert de mysql_query() pour éxécuter la requête SQL
         // requette SQL :
    	$query = "SELECT count(*) FROM user";
     
        $recuperation = mysql_query($query) or die("Query failed" );
        echo "<table  border=\"1\" align=\"center\" width=\"1000\">\n"; // A ne pas mettre dans le while sinon il va re-générer un tableau à chaque fois
     
        echo "<td align=\"center\" bgcolor=\"#edc113\">";
    	echo "nbre";        
        echo "</td>";
     
    	$num_ligne=0;
    		while ($data= mysql_fetch_array ($recuperation))
    	{
    		if ($num_ligne % 2 ==0)echo "<tr bgcolor=\"#ececec\">";
    		else echo "<tr bgcolor=\"#f80000\">";
    ?>
    	<td><?php echo $data["nbre"];?></td>
    	</tr>
    <?php
    	$num_ligne = $num_ligne+1;
    	}
    echo "</table>";
     
    mysql_free_result();
    // Déconnexion de la base de données
    mysql_close();
    ?>
    </body>
    </html>

  6. #6
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Peux-tu m'expliquer d'où sort ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $data["nbre"];?>
    Pour moi ta requête fais un count(*) donc le champ qu'elle te renvoie devrait être "count(*)"

    Mais pour faire plus propre tu devrais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) as nbUser FROM user
    et du coup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $data["nbUser"];?>

  7. #7
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    [QUOTE=Kreepz;8081483]Peux-tu m'expliquer d'où sort ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $data["nbre"];?>
    Et bien là je me sens un peu bête, j'étais parti du coté "titre de colonne"

    Je viens de rectifier le tir avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT count(*) as nbUser FROM user";
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $data["nbUser"];?>
    ET TOUT FONCTIONNE.

    En fait, cela veut dire que j'aurai pu mettre n'importe quoi à la place de "nbUser", à condition de mettre ce terme dans la requête et le php echo, c'est cela ?
    c'est dur l'apprentissage
    Mille merci, de ce pas, je vais continuer.

  8. #8
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Oui en fait quand tu fais un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) from user
    Le nom de colonne qu'il te renvoie par défaut est "count(*)"
    Le mieux à faire est de renommer la colonne avec le "As".

    Ensuite tu utilise le nom spécifié dans ton php

    Et oui tu pouvais très bien mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) as voiture from user
    et ensuite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $data["voiture"];?>

  9. #9
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    oui cela marche avec n'importe quoi, je viens de faire quelques tests.
    Encore Merci, maintenant je vais mettre en "résolu" Mais je reviendrai certainement bientôt. A+

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

Discussions similaires

  1. [MySQL] Afficher résultat d'un SELECT COUNT (PDO) en PHP
    Par gat91200 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/07/2015, 22h11
  2. Réponses: 2
    Dernier message: 18/10/2010, 13h48
  3. afficher le résultat d'un count
    Par jan0 dans le forum SQL
    Réponses: 3
    Dernier message: 20/10/2006, 10h01
  4. Afficher le résultat d'un COUNT même null
    Par trangsene dans le forum Langage SQL
    Réponses: 10
    Dernier message: 18/11/2005, 18h07
  5. résultat de " select count "
    Par marie253 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2004, 12h07

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