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 :

retourner la valeur d'un select count where [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 16
    Par défaut retourner la valeur d'un select count where
    Bonjour,

    Je débute avec PHP et SQL (j'utilise PDO), jusqu'à présent j'arrive à réaliser des requêtes simples avec ma BDD, mais lorsque j'essaie de réaliser cet exemple :
    http://www.w3schools.com/sql/trysql....sql_func_count

    Mon fetch qui est enregistré sur une variable ne retourne rien....

    Faut-il boucler une variable de cette manière while ($var = $bdd->fetch()) ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le COUNT ne renvoit qu'une ligne, il n'y a pas besoin de boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var = $bdd->fetch(PDO::FETCH_NUM);
    echo $var[0];
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 16
    Par défaut
    C'est bien étrange ce qu'il m'arrive...

    Ma table se divise en deux colonnes : idV (valeur unique pour chaque ligne, incrémentation) et idMap (dont une même valeur peut etre commune à plusieurs idV)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql1='SELECT COUNT(idV) as maxMap FROM liste_villages WHERE idMap='.$idMap.''; 
    $req1=$bdd->query($sql1);
    $max=$req1->fetch();
    $req1->closeCursor();
    echo $max['maxMap'];
    ça me renvoie 0 pour l' echo
    pourtant sur ma table que je visionne avec la console MySQL, il y a bien deux lignes (donc un idV différent pour chacune) avec le même idMap
    ça devrait donc me renvoyer "2" non ?

    Je suis désolé si je respecte pas les règles du forum, je vous remercie par avance.

    EDIT: j'ai essayé avec ton code sabotage, toujours 0 pour l'echo... Je te remercie de m'avoir répondu

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le .'' ne sert à rien

    Tu peux faire un debugage en affichant la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql1='SELECT COUNT(idV) as maxMap FROM liste_villages WHERE idMap='.$idMap;
    echo $sql1;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 16
    Par défaut
    Pas d'erreur particulière avec echo $sql1;

    la connexion à la BDD est bonne, la variable $idMap existe bien et sa valeur correspond à celle sur la table

    Bref, je vais abandonner je pense

    edit: en revanche, si je retire le "where ..." de ma requête, ça marche, mais ça renvoie des valeurs pour tous les idMap, hors moi je veux les résultats pour un seul idMap défini...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux nous fournir un dump de la table ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par fabien_gz Voir le message
    Bref, je vais abandonner je pense
    ... et bravo pour ta motivation...

    Citation Envoyé par fabien_gz Voir le message
    Pas d'erreur particulière avec echo $sql1;
    On ne risque pas d'approuver ou de te dire le contraire, vu que tu ne nous montres pas le résultat...

    Supprime cette ligne (pas nécessaire) :

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

Discussions similaires

  1. Retourner les valeurs d'un select dans un tableau après un POST
    Par DevCom59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/06/2014, 21h47
  2. Recuperer la valeur d'un select count()
    Par dodo91 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/05/2009, 16h37
  3. [COUNT] select ... from ... where count !
    Par tmcgrady dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/11/2007, 17h29
  4. [Java][debutant]select count(*) ne retourne rien !!
    Par Invité dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/01/2007, 11h39
  5. [mysql 5]SELECT COUNT(*) + WHERE pseudo="$pseudo"
    Par rezareza dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/11/2006, 15h20

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