Problème sélection donnée tableau dynamique avec PHP MySQL
Fermé
tom34314341
-
5 août 2022 à 15:29
jordane45
Messages postés38427Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 février 2025
-
5 août 2022 à 15:54
Bonjour,
Je suis en train de faire un petit application PHP CRUD, un plateforme de traitement d'incident informatique.
Je me retrouve maintenant avec la page "Liste des incident" (version administrateur) où il va voir les listes des incidents.
Le concept est d'afficher les incidents suivant un mot clés et / ou l'état de l'incident sil les champs sont remplis. Dans l'autre cas, on rempli la table avec les incidents suivant leurs date de parution. (dans le code ci-dessous)
Le problème est que j'ai récemment mit un condition (en haut) ce qui concerne la sélection des données à affiché.
Et soit il m'affiche les trois messages d'erreur suivant :
_Il y a des valeurs dans les POST NouveauRija RABEErreur de syntaxe pr�s de '\'Nouveau\' AND NOMCOMPLETREDADCTEUR = \'Rija RABE\'' � la ligne 1
_mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in adminListIncident.php on line (je m'en souvient plus)
Bref, les erreur apparaissent toujours si j'ai mis $res à l'intérieur. Et je ne sait plus quoi faire
<?phprequire_once('commun/connexiondb.php');//page php pour connexion au DB// On a d'abord une condition qui affiche les données dans la colonne du tableau en décroissante suivant leurs date de parrution (plus récent en haut) si les champs "EtatIncident" et "motCleIncident" sont vide.//Ensuite dans le cas contraire, il récupère les valeurs dans "EtatIncident" et "motCleIncident"
et les utilises pour la requete sql.if(isset($_POST)&empty($_POST)){echo("Vous n'avez pas défini l'état de l'incident ou le mot cle servant a la recherche ou tout les deux.");$selectIncident="SELECT * FROM incident ORDER BY DATEPARRUTION DESC";}else{echo("Il y a des valeurs dans les POST ");$etatIncident=stripslashes($_POST['etatIncident']);$motCleIncident=stripslashes($_POST['motcleIncident']);echo($etatIncident);echo($motCleIncident);$selectIncident=" SELECT * FROM incident WHERE ETATINCIDENT = \'$etatIncident\' AND NOMCOMPLETREDADCTEUR = \'$motCleIncident\'";}$res=mysqli_query($connexion,$selectIncident)ordie(mysqli_error($connexion));?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Soacare | Liste des incidents</title><script type="text/javascript" src=""></script><script type="text/javascript" src=""></script><link rel="stylesheet" href="css/bootstrap.css"></head><body><?phpinclude('commun/[admin]navbar.php');?><br><br><br><br><div class="container-fluid"><div class="container"><h1>Liste des incidents</h1><div class="row"><div class="col-md-4"><!-- Le formulaire --><form action="" method="POST"><div class="form-group"><label for="input1"class="form-label mt-4">Etat de l'incident</label> <select name="etatIncident" class="form-select" id="input1"> <option>Nouveau</option> <option>En cours</option> <option>cloturé</option> </select> </div> </div> <div class="col-md-4"> <label for="input2" class="form-label mt-4">Rechercher un incident</label> <input type="text" name="motcleIncident" class="form-control" id="input2" placeholder="Entrer un mot clé "> </div> <div class="col-md-4"> <br><br> <center><button type="submit" class="btn btn-primary" value="valider">Valider les informations</button></center> </div> </form> </div> <br> <!-- Le tableau à remplir ---> <table class="table table-hover"> <thead> <tr> <th scope="col">n° Incident</th> <th scope="col">Nom de l'editeur</th><th scope="col">Departement</th><th scope="col">Description </th><th scope="col">Contact</th><th scope="col"> Responsable</th><th scope="col">Date de parrution</th><th scope="col">Date de clôture</th><th scope="col">Etat de l'incident</th> <th>Action</th> </tr> </thead> <tbody> <!-- boucle permettant de remplir les champs ---> <?php while ($affichageDonnee = mysqli_fetch_assoc($res)){?> <tr class="table-striped"> <td><?= $affichageDonnee['NUMINCIDENT'] ?></td> <td><?= $affichageDonnee['NOMCOMPLETREDACTEUR'] ?></td> <td><center><?= $affichageDonnee['DEPARTEMENTREDACTEUR'] ?></center></td> <td><?= $affichageDonnee['DESCRIPTIONINCIDENT'] ?></td> <td><?= $affichageDonnee['CONTACTREDACTEUR'] ?></td> <td><?= $affichageDonnee['NOMCOMPLETRESPONSABLE'] ?></td> <td><?= $affichageDonnee['DATEPARRUTION'] ?></td> <td><?= $affichageDonnee['DATECLOTURE'] ?></td> <td><?= $affichageDonnee['ETATINCIDENT'] ?></td> <td><a href="[admin]traiterIncident.php?numIncident=<?php echo $affichageDonnee['NUMINCIDENT']; ?>"><img style="width:50px;height: 50px;" src=""/></a></td> <!-- Image qui nous redirige vers une autre page et récupere le numéro de l'incident ---></tr><?php}?></tbody></table><?phpinclude'commun/footer.php'?></div></div></body></html>
A voir également:
Problème sélection donnée tableau dynamique avec PHP MySQL
jordane45
Messages postés38427Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 février 20254 735 Modifié le 5 août 2022 à 15:55
Bonjour,
Il faut virer des back slash dans ta requête
$selectIncident=" SELECT * FROM incident WHERE ETATINCIDENT = '$etatIncident' AND NOMCOMPLETREDADCTEUR = '$motCleIncident'";