Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment afficher des données avec un select ?

Sujet résolu
    3 février 2015 à 23:08:27

    Comar91 a écrit:

    Bonjour, as-tu essayé

    $reponse->execute(array('prenom' => $_POST['prenom']));

    Non, je vais essayé !

    -
    Edité par mika445 3 février 2015 à 23:09:07

    • Partager sur Facebook
    • Partager sur Twitter
      3 février 2015 à 23:46:17

      Après avoir fais quelques modification j'ai le droit à de nouvelle erreurs.. :
      Warning: PDO::query() [pdo.query]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Array' in 'where clause' in /home/a1423747/public_html/view_1.php on line 40
      
      Et :
      
      Fatal error: Call to a member function fetchAll() on a non-object in /home/a1423747/public_html/view_1.php on line 40
      
      
      Mon code :
      <html>
      <?php include'head.php'; ?>
      <body>
      	<div class="search">
      		<form action="view_1.php" method="POST">
      <label for="prenom" class="label_prenom"> Entrez votre pseudo : </label>
      <br>
      <br>
      <input type="text" name="prenom" class="pseudo">
      <br>
      <br>
      <input type="submit" class="button" value="Afficher mes notes">
      <br>
      <br>
      <a href="index.php"><input type="button" value="Retour" class="button"></a>
      </form>
      	</div>
      </body>
      </html>
      
      <?php
      require 'cnx.php';
      ?>
      <?php
      
      try {
          $cnx = new PDO('mysql:host='.$serveur.';port='.$port.';dbname='.$bdd, $user, $pass);
          $cnx->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
      }
      
      catch(PDOException $e)
      {
      
         die('Erreur : ' . $e->getMessage());
      }
      
      $q = array('prenom'=>$prenom);
        
       
      $requete = $cnx->query('SELECT titletext,text FROM note WHERE prenom ='.$q.'')->fetchAll();
      
       
      
      foreach ($requete as $mes_reponses)
      
       
      
      {
      
       
      
      ?>
      
       
      
      <div class="note">
      
       
      
      <h3 class="titletext"><?php echo $mes_reponses['titletext'] ?></h3>
      
       
      
      <p class="text-note"><?php echo $mes_reponses['text'] ?></p>
      
       
      
      </div>
      
       
      
      <?php
      
      }
      
      include 'view_1.php';
      
      ?>
       Je précise que j'ai dû utiliser Array car sinon il ne retrouvait pas la variable prenom...
      J'avais le droit à l'erreur quand il ne connait/trouve pas la variable..

      -
      Edité par mika445 3 février 2015 à 23:49:34

      • Partager sur Facebook
      • Partager sur Twitter
        4 février 2015 à 10:21:01

        Bonjour, tu as changé de syntaxe... Tu avais un prepare + execute et maintenant tu fais n'importe quoi ? Pour commencer la partie accès BDD ne peut fonctionner QUE si le prénom a été saisi. Tu devrais donc conditionner l'exécution de cette partie par un isset sur $_POST['prenom']. Ensuite tu auras le prénom dans $_POST['prenom'] et tu pourras t'en servir dans une requête préparée.
        • Partager sur Facebook
        • Partager sur Twitter
        Comar
          4 février 2015 à 20:34:41

          Bon, j'ai suivis tes conseils, donc j'ai penser à un petit système d'include..

          En faite maintenant il y a la page où je récupère le prénom et la page ou j'affiche les notes..

          La page view_2 (celle ou j'affiche les notes) sera afficher avec un include...

          En voici les codes :

          <html>
          <?php include'head.php'; ?>
          <body>
              <div class="search">
                  <form action="view_2.php" method="POST">
          <label for="prenom" class="label_prenom"> Entrez votre pseudo : </label>
          <br>
          <br>
          <input type="text" name="prenom" class="pseudo">
          <br>
          <br>
          <input type="submit" class="button" value="Afficher mes notes">
          <br>
          <br>
          <a href="index.php"><input type="button" value="Retour" class="button"></a>
          </form>
              </div>
          </body>
          </html>
           
           
           
          

          Page view_1 - Celle où je récupère le prénom

          <?php
          require 'cnx.php';// Fichier distant de connexion à SQL
          ?>
          <?php
           
          try {
              $cnx = new PDO('mysql:host='.$serveur.';port='.$port.';dbname='.$bdd, $user, $pass);
          }
          catch(PDOException $e)
          {
              echo $e->getMessage();
          }
           
          //Au dessus Connexion à MySQL - En dessous de moi boucle pour afficher les notes
           
          $reponse = $cnx->query('SELECT titletext,text FROM note WHERE prenom = :prenom');
          
           
          while ($donnee = $reponse->mysqli_fetch())
          {
          ?>
          <div class="note">
              <p class="title_text">
              <?php echo htmlspecialchars($donnee['titletext']); ?>
          </p>
          <br>
          <p class="text_note">
              <?php echo n12br(htmlspecialchars($donnee['text'])); ?>
          </p>
          </div>
          <?php
           }
          $req -> closeCursor();
           ?>

          view_2 - Celle où j'affiche les notes

          Je précise que j'ai dû utiliser comme backup des anciens fichiers.. Donc c'est un peu normal si vous retrouvez de vieille syntaxe d'il y a quelques post...

          -
          Edité par mika445 4 février 2015 à 20:37:12

          • Partager sur Facebook
          • Partager sur Twitter

          Comment afficher des données avec un select ?

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown