Recherche des données dans la BDD et afficher le résultat

didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour

Sur ma page web j'ai un formulaire de recherche et un tableau contenant les donnés de la BDD mais je sais pas comment rechercher les données voulues et afficher le résultat de la recherche effectuée

J'ai besoin de votre aide

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Difficile de te répondre avec si peu d'informations....

    Ton formulaire.. il sert à faire la recherche ?
    Donc tu as déjà codé la connexion à la bdd ?
    Tu sais faire des requêtes SQL ?
    Tu sais mettre une clause WHERE dans tes requêtes SQL ?

    0
    1. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      Oui le formulaire sert à faire la recherche

      <form method="POST" action="resultat.php " >
         <input type='search' name='idSalles' placeholder='Rechercher...'/>
         <input type='submit'  value='ok'/>
         </form>
      	
      

      Autre fichier pour l'affichage
      <?php
      
      require_once('GestionErreurs.php');
      REQUIRE_ONCE('Connexion.php');
      ?>
      
      <?php
      
      if (isset($_POST['ok'])) {
      
          $idSalles = $_POST['idSalles'];
          $res = $DB->query("select * from wp_horaire where idSalles like '%'. $idSalles .'%' order by ASC ");
          if ($res) {
              echo'<h2>Résultat de votre recherche</h2>\n';
              $data_exists = $res->fetchColumn();
          }
          if ($res->fetchColumn() > 0) {
      
              echo '<center><table border="1px" cellpadding="5px" cellspacing="0"></center>';
              echo '<tr>\n';
              echo '<th>Salles<th>\n';
              echo '<th>Periode<th>\n';
              echo '<th>jour<th>\n';
              echo '<th>Faculte<th>\n';
              echo '<th>Classe<th>\n';
              echo '<th>Cours<th>\n';
              echo '</tr>\n';
              while ($row = $res->fetchAll()) {
                  echo '<tr>\n';
                  echo '<td>$row["idSalles"]<td>\n';
                  echo '<td>$row["Periode"]<td>\n';
                  echo '<td>$row["jour"]<td>\n';
                  echo '<td>$row["Faculte"]<td>\n';
                  echo '<td>$row["idClasse"]<td>\n';
                  echo '<td>$row["idCours"]<td>\n';
                  echo '</tr>\n';
              }
              echo '</table>\n';
          } else {
              echo 'Pas de résultat';
          }
      }
      ?>
      <?php
      
      $DB = null;
      	
      
      

      Essaie de me corriger s'il vous plait
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bon... ton code est bourré d'erreurs...

    Il serait bien, pour tes prochains codes, de lire et d'appliquer les consignes données dans ces deux liens :
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
    Et en attendant, voici déjà un début de correction
    <?php
    //affichage des erreurs PHP
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    //includes
    require_once 'GestionErreurs.php';
    require_once 'Connexion.php';
    
    
    //traitement du formulaire
    if (isset($_POST['ok'])) {
    
      $idSalles = !empty($_POST['idSalles']) ? $_POST['idSalles'] : NULL; 
      
      if($idSalles){
        $sql = "SELECT * 
              FROM wp_horaire 
              WHERE idSalles like '%". $idSalles ."%' 
              ORDER BY idSalles ASC ";
        
        try{
          $prep = $DB->prepare($sql);
          $prep->execute();
          
          $res = $prep->fetchAll();
          
          echo'<h2>Résultat de votre recherche</h2>\n';
          if (count($res) > 0) {
      
            echo '<center><table border="1px" cellpadding="5px" cellspacing="0"></center>';
            echo '<tr>\n';
            echo '<th>Salles<th>\n';
            echo '<th>Periode<th>\n';
            echo '<th>jour<th>\n';
            echo '<th>Faculte<th>\n';
            echo '<th>Classe<th>\n';
            echo '<th>Cours<th>\n';
            echo '</tr>\n';
            foreach ($res as $row){
                echo '<tr>\n';
                echo '<td>'.$row["idSalles"].'<td>\n';
                echo '<td>'.$row["Periode"].'<td>\n';
                echo '<td>'.$row["jour"].'<td>\n';
                echo '<td>'.$row["Faculte"].'<td>\n';
                echo '<td>'.$row["idClasse"].'<td>\n';
                echo '<td>'.$row["idCours"].'<td>\n';
                echo '</tr>\n';
            }
            echo '</table>\n';
          } else {
            echo 'Pas de résultat';
          }  
          
          
        }catch(Exception $e){
          echo " ERREUR ! " .$e->getMessage();
        }
      }  
    }
    ?>
    
    
    0
    1. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci pour la correction mais rien ne s'affiche quand j'exécute le code
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833 > didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
         
        A/s tu activé la gestion des erreurs PDo comme indiqué dans le lien que je t'ai donné ? (montres nous le code de connexion de ta bdd )

        Et puis.. que contiennent tes fichiers GestionErreurs.php et Connexion.php ?? Le souci est peut-être là...

        Quelle URL s'affiche lorsque tu arrives sur cette page ?

        As tu essayé de mettre des ECHO dans le code pour essayer de voir la valeur de tes variables ?
        0
    2. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      Voici ce que contient mon fichier Connexion.php
      <?php
      try {
      
          $DB = new PDO("mysql:host=localhost;dbname=wordpress", 'root', '');
          // Activation des erreurs PDO
          $DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
          $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
      } catch (Exception $e) {
          echo "$e->getMessage()";
      }
      

      Aussi le contenu de mon fichier GestionErreurs.php
      <?php
      
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE)	
      ?>	
      
      0
    3. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      URL affichée est http://localhost/wordpress/wp-admin/resultat.php
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Par contre...tu fais du WordPress ?
      Je déplace dans le bon forum...
      0