Erreur de recherche MySQL
Fermé
fareohh
Messages postés
63
Date d'inscription
samedi 9 septembre 2017
Statut
Membre
Dernière intervention
30 mars 2021
-
Modifié le 3 mai 2018 à 20:52
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 4 mai 2018 à 09:27
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 4 mai 2018 à 09:27
A voir également:
- Erreur de recherche MySQL
- Erreur 0x80070643 - Guide
- Recherche musique - Guide
- Google recherche par image - Guide
- Mysql download - Télécharger - Bases de données
- Recherche automatique des chaînes ne fonctionne pas - Guide
2 réponses
yg_be
Messages postés
22727
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2024
1 476
Modifié le 3 mai 2018 à 22:20
Modifié le 3 mai 2018 à 22:20
bonsoir,
moi je commencerais par remplacer LIKE par =.
et ensuite, faire le travail pour mettre la bonne valeur dans $type.
moi je commencerais par remplacer LIKE par =.
et ensuite, faire le travail pour mettre la bonne valeur dans $type.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
Modifié le 4 mai 2018 à 09:28
Modifié le 4 mai 2018 à 09:28
Bonjour,
L'exemple de données que tu nous montres dans ta bdd ne contient qu'une seule ligne avec le mot pizza seul...
Dans quels cas ça ne fonctionne pas ???
Pour rappel, le like s'utilise avec des caractères jocker.
Actuellement, tu as utilisé juste un % à la fin ...
ce qui signifie que ta recherche se base sur : "Tout ce qui commence par $requete".
Si tu veux chercher tout ce qui "CONTIENT" $requête ( avec des mots avant et/ou après) il faut mettre également un % devant
</code>
Au niveau de la requête, il suffit d'ajouter un AND dans ton WHERE
Et Coté formulaire, une simple liste déroulante contenant tes différents type suffira....
Le problème c'est que quand je fait une recherche dans 'name' avec ma variable $requete, avec pizza il m'affiche toutes les lignes avec pizza dans 'name' si il est seul.. mais lors ce qu'il y a plusieurs mots dans 'name' il ne m'affiche rien
L'exemple de données que tu nous montres dans ta bdd ne contient qu'une seule ligne avec le mot pizza seul...
Dans quels cas ça ne fonctionne pas ???
Pour rappel, le like s'utilise avec des caractères jocker.
Actuellement, tu as utilisé juste un % à la fin ...
$requete . '%'
ce qui signifie que ta recherche se base sur : "Tout ce qui commence par $requete".
Si tu veux chercher tout ce qui "CONTIENT" $requête ( avec des mots avant et/ou après) il faut mettre également un % devant
<code php>'%'.$requete . '%'
</code>
Si quelqu'un au passage, sais comment je peux faire pour rechercher un résultat que par rapport a un état de variable
Au niveau de la requête, il suffit d'ajouter un AND dans ton WHERE
$sql = "SELECT * FROM fichiers WHERE name LIKE :requete AND `type` = :type ORDER BY id DESC"; $datas = array(':requete' =>'%'. $requete . '%', ':type'=>$type);
Et Coté formulaire, une simple liste déroulante contenant tes différents type suffira....
3 mai 2018 à 22:26
Modifié le 3 mai 2018 à 22:35