Barre de recherche AJAX/PHP
Résolujordane45 Messages postés 40050 Statut Modérateur -
Bonsoir,
Je me tourne vers vous aujourd'hui concernant un soucis sur ma barre de recherche AJAX/PHP au niveau de ma requête PHP :
<?php if(isset($_GET['user'])){ $user = $_GET['user']; $query = $db->prepare("SELECT * FROM `playlist` WHERE artiste LIKE ? LIMIT 10", array("%$user%")); $query->execute(array("%$user%")); $sql = $query->fetchALL(); foreach($sql as $r){ ?> <?= $r['artiste'] ?> - <?= $r['titre'] ?><br> <?php } } ?>
Ce code fonctionne, il me retourne bien les résultats demandés lorsque je recherche un artiste. Sauf que je souhaiterais que ma barre recherche aussi les titres portant le nom recherché. J'ai donc naturellement ajouté OR titre LIKE ? à la suite de mon premier artiste LIKE ?. Sauf que là plus rien ne fonctionne.
Je souhaiterais savoir si j'ai bien écrit mon code ou pas ... En bref je souhaiterais que la saisie du champ de recherche, cherche les infos dans la colonne artiste et titre.
Merci par avance pour votre aide.
- Php ajax
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Yggtorrent erreur ajax ✓ - Forum Webmastering
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
4 réponses
Bonsoir, je reviens vers toi car je suis toujours bloqué sur mon problème...
Merci
Bonjour
commence par appliquer ceci
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et reviens nous montrer ton code modifié si ton souci persiste.
Qu'est ce que tu ne comprends pas au juste ??
As tu modifié ton code de connexion à la bdd comme dans l'exemple présent dans le lien afin d'afficher les erreurs PDO ?
As tu modifié ton code (celui que tu as posté dans ton premier message) afin de placer l'exécution de ta requête dans un bloc try/catch ? (comme dans l'exemple qui se trouve dans le lien que je t'ai donné ? )
As tu activé l'affichage des erreurs PHP (comme expliqué dans le lien que je t'ai donné ) ?
bref.. qu'as tu déjà changé dans ton code pour tenir compte des informations présentes dans le lien que je t'ai donné ?? ( il faudrait poster ton code ACTUEL qu'on puisse voir ce que tu as essayé de faire .)
.. enfin bon...
En gros, ton code devrait ressembler à un truc du genre :
<?php //-------------------------------- //Affichage des erreurs PHP //-------------------------------- error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //-------------------------------- // connexion à la bdd ? //-------------------------------- // ?? //-------------------------------- //récupération PROPRE des données transmises en GET //-------------------------------- $user = !empty($_GET['user']) ? trim($_GET['user']) : null; //-------------------------------- // début du traitement //-------------------------------- if($user)){ //préparation de la requête et des variables $sql = "SELECT * FROM `playlist` WHERE artiste LIKE ? OR titre LIKE ? LIMIT 10"; $datas = array($user,$user); //Execution de la requete try{ $requete = $db -> prepare($sql) ; $requete->execute($datas) ; //On récupère le résultat de la requête dans un array $result = $requete->fetchAll(); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } foreach($result as $r){ echo $r['artiste'] . " - " . $r['titre'] ."<br>"; } } ?>
Au passage, vu que tu parles d'ajax, j'espère que tu sais comment regarder dans la console de ton navigateur ce que retourne l'appel à ton script.
Au cas où, n'hésites pas à lire ceci : (descend jusqu'à la section : Débuggage de l'ajax )
Bonjour, merci pour ta réponse !
Comment je dois faire ?