Recherche en base de données via PDO
Résolu/Fermé
A voir également:
- Recherche en base de données via PDO
- Formules excel de base - Guide
- Recherche musique - Guide
- Google recherche par image - Guide
- Célia doit nettoyer le tableau suivant pour l'ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
- Effacer les données de navigation - Guide
1 réponse
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 15/08/2013 à 20:52
Modifié par JooS le 15/08/2013 à 20:52
Salut,
- Documentes toi sur PDO et les requêtes préparés.
- Pourquoi inclure 4 fois un même fichier, une fois suffit !
- Il ne suffit pas de vérifier que $_POST['search'] existe, tu dois vérifier que $_POST['marque'] et piece existent aussi et ne sont pas vides.
- Si tes tables contiennent des ID, alors tes requêtes de recherches doivent se faire en fonction des ID et non pas des libelles(nom de marque, nom de pièce).
A essayer !
Mettez en résolu quand c'est résolu -.- ...
- Documentes toi sur PDO et les requêtes préparés.
- Pourquoi inclure 4 fois un même fichier, une fois suffit !
- Il ne suffit pas de vérifier que $_POST['search'] existe, tu dois vérifier que $_POST['marque'] et piece existent aussi et ne sont pas vides.
- Si tes tables contiennent des ID, alors tes requêtes de recherches doivent se faire en fonction des ID et non pas des libelles(nom de marque, nom de pièce).
A essayer !
<?php // Une seule inclusion suffit require_once 'connexion.php'; ?> Recherche par marque et type de piece :<br> <form method="POST" action=""> <select name="marque" class="styled-select"> <option value="0">Choissisez la marque</option> <?php $resultats = $connexion->query("SELECT * FROM marques ORDER BY marque ASC"); while($ligne = $resultats->fetch(PDO::FETCH_OBJ)) { echo '<option value="' . $ligne->marque . '">' . $ligne->marque . '</option>'; // on affiche la liste des marques } $resultats->closeCursor(); // on ferme le curseur des résultats ?> </select> <select name="piece" class="styled-select"> <option value="0">Choissisez la piece</option> <?php $resultats = $connexion->query("SELECT * FROM pieces ORDER BY piece ASC"); while($ligne = $resultats->fetch(PDO::FETCH_OBJ)) { echo '<option value="' . $ligne->piece . '">' . $ligne->piece . '</option>'; // on affiche la liste des pieces } $resultats->closeCursor(); // on ferme le curseur des résultats ?> </select> <input type="submit" name="search" value="Valider" class="styled-btn"> </form> <?php if(isset($_POST['search'])) { $resultats = $connexion->prepare("SELECT * FROM piecedet WHERE piece = :p AND marque = :m ORDER BY id DESC"); $resultats->execute(array(':p'=>$_POST['piece'], ':m'=>$_POST['marque'])); while($ligne = $resultats->fetch(PDO::FETCH_OBJ)) { echo 'Piece No ' . $ligne->id . '<br>' . $ligne->piece . ' de la marque ' . $ligne->marque . ' ajoute le ' . $ligne->date . '<br>La piece se situe sur l\'etagere No ' . $ligne->etagere . ' sur la planche No ' . $ligne->planche . ' dans le bac No ' . $ligne->bac . '.<br> Remarque: ' . $ligne->note; // on affiche les infos sur le composant } $resultats->closeCursor(); // on ferme le curseur des résultats } ?>
Mettez en résolu quand c'est résolu -.- ...
16 août 2013 à 21:23