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

Langage PHP Discussion :

Affichage de données [PHP 5.5]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Aucun
    Inscrit en
    Août 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Aucun
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 19
    Points : 23
    Points
    23
    Par défaut Affichage de données
    Bonjour, je suis débutant de quelques semaines en PHP.
    Voilà mon problème :
    j'essaie d'afficher les données de ma base SQL, qui sur mes autres pages s'affichent mais pas sur la fameuse page, après des heures de recherche j'ai décidé de me tournée vers un forum !
    INFO = Pas de messages d'erreur lors du chargement de la page, mais la variable $petanque est toujours égal à 0 et donc l'écho m'affiche toujours 0, mais mon souhait est que l'écho affiche le nombre de ligne dans la base de données.
    Mon code si nécéssaire :

    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
     
    <?php
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=chat', 'root', '');
    $petanque = 0;
    $req = $bdd->prepare("SELECT count * as nb FROM recherche WHERE type='Petanque'");
    $req->execute(array('nb'=>$petanque));
    ?>
    <html>
     <head>
     <!--[if lt IE 7]>
     <style type="text/css">
     div {
     width:expression(document.body.clientWidth >= 1000? "1000px": "auto" );
     }
     </style>
     <![endif]-->
     <link rel="shortcut icon" type="image/x-icon" href="ico.jpg" /> 
      <title> Recherche co&eacute;quipier. </title>
      <style type="text/css">
      table
    {
        border-collapse: collapse;
    }
    td
    {
        border: 2px solid black;
    }
      </style>
      </head>
      <body background="../images/fonds/fondorange.png">
          <?php
    		echo $petanque;
    	  ?>
    </body>
     </html>
    Merci de ne pas me demander ce que je veux faire, mais de me dire comment faire.

  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 : 31
    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
    Bonjour,

    Je pense que tu as une erreur dans ta requête généralement le COUNT est suivie de parenthèse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) as nb FROM recherche WHERE type='Petanque'
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ revois la syntaxe SQL de COUNT()

    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array('nb'=>$petanque));
    Tu mélanges : ce n'est pas comme ça qu'on récupère une donnée !

    Revois aussi le manuel PDO (PHP Data Objects)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $petanque = 0;
    $req = $bdd->prepare("SELECT COUNT(*) as nb FROM recherche WHERE type='Petanque'");
    $req->execute(); // ici, rien à passer en arguments
     
    $row = $req->fetch(); // on récupère une ligne
    $petanque = $row['nb'];

    3/ Voyons comment faire une requête préparée :
    On suppose que tu veux afficher toutes les lignes de type $type (récupéré par exemple depuis une liste déroulante de formulaire, et valant (par exemple toujours) 'Petanque' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $type = ( isset($_POST['type']) )? $_POST['type'] : '';
    if ( !empty($type) )
    {
       $req = $bdd->prepare("SELECT * FROM recherche WHERE type = :type "); // préparation de la requête
       $req->execute( array(':type'=>$type) ); // arguments
       while( $row = $req->fetch() ) // on parcours le résultat, ligne par ligne
       {
          // ici, on peut afficher le contenu de la ligne
       }
    }
    Dernière modification par Invité ; 12/08/2015 à 09h05.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Aucun
    Inscrit en
    Août 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Aucun
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 19
    Points : 23
    Points
    23
    Par défaut Merci !
    Merci de vos réponses, tout marche maintenant, ce n'était pas l'erreur de syntaxe le problème c'était mon code, merci !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/07/2014, 02h22
  2. Réponses: 1
    Dernier message: 28/11/2013, 13h43
  3. problème avec ma base de données
    Par pmboutteau dans le forum ASP
    Réponses: 6
    Dernier message: 25/02/2005, 12h59
  4. Problème avec l'affichage de souris INT 33,01h
    Par belgampaul dans le forum Assembleur
    Réponses: 7
    Dernier message: 07/12/2004, 21h37
  5. Réponses: 11
    Dernier message: 16/12/2003, 19h58

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