Menu

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

Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
- - Dernière réponse : jordane45
Messages postés
24097
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 janvier 2019
- 10 janv. 2019 à 18:53
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
Afficher la suite 

Votre réponse

2 réponses

Messages postés
24097
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 janvier 2019
2147
0
Merci
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 ?


didierdizo
Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
-
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
Commenter la réponse de jordane45
Messages postés
24097
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 janvier 2019
2147
0
Merci
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://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
https://www.commentcamarche.net/faq/46512-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();
    }
  }  
}
?>

didierdizo
Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
-
Merci pour la correction mais rien ne s'affiche quand j'exécute le code
jordane45
Messages postés
24097
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 janvier 2019
2147 > didierdizo
Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
-
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 ?
didierdizo
Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
-
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)	
?>	
didierdizo
Messages postés
46
Date d'inscription
lundi 21 mai 2018
Dernière intervention
15 janvier 2019
-
URL affichée est http://localhost/wordpress/wp-admin/resultat.php
jordane45
Messages postés
24097
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 janvier 2019
2147 -
Par contre...tu fais du WordPress ?
Je déplace dans le bon forum...
Commenter la réponse de jordane45