furious Gontran Posté 23 Septembre 2004 Posté 23 Septembre 2004 (modifié) J'ais un probleme tout bete... Mon bouquin m'indique que pour faire une recherche partielle il suffit de rajouter de % dans la requete. Par exempl mettre ver% me donneras tout ce qui commence par ver et % % me donneras tout ce qui contient un espace. Seulement lorsque je le fait ca ne marche pas... $Recherche1 = $_POST['Recherche'];$Recherche = "%".$Recherche1."%"; $Table = $_POST['Table']; $position = 0; echo $Recherche; $Requete= "SELECT * FROM $Table WHERE Nom='$Recherche'"; $resultat=ExecRequete($Requete, $connexion); De plus meme lorsque je n'utilise pas le rajout de % et que je tape en recherche: a% pour avoir toutes les entrées commencant par a, ca ne marche pas non plus... En gros, je jette mon bouquin par la fenetre ou ca viens de moi ?? Modifié 23 Septembre 2004 par furious Gontran
Dan Posté 23 Septembre 2004 Posté 23 Septembre 2004 Salut Furious Gontran, Pour utiliser les wildcars tels que % il faut combiner cela avec 'like'... Par exemple, si j'ai une table 'posts', avec un champ 'message' je peux écrire: Select * from posts where message like '%Dan%'; pour retrouver tous les messages qui parlent de moi Dan
furious Gontran Posté 23 Septembre 2004 Auteur Posté 23 Septembre 2004 Merci... Au fait, cool le systeme de reponse rapide !!!
Anonymus Posté 23 Septembre 2004 Posté 23 Septembre 2004 Bonjour, 3 petites choses : 1/ Pour les variables, au lieu de : $Recherche1 = $_POST['Recherche'];$Recherche = "%".$Recherche1."%";$Table = $_POST['Table'];$position = 0;echo $Recherche;$Requete= "SELECT * FROM $Table WHERE Nom='$Recherche'"; $resultat=ExecRequete($Requete, $connexion); tu aurais pu écrire : $position = 0;echo $_POST['Recherche'];$Requete= "SELECT * FROM $_POST['Table'] WHERE Nom='$_POST['Recherche']'"; $resultat=ExecRequete($Requete, $connexion); Tu aurais gagné en clareté, et en rapidité. Si la variable du script se limite à 1 ou 2 affectations, ne passes pas par une variable intermédiaire 2/ Lorsque tu poses une question, penses à mettre aussi les fonctions que tu utilises. Là, je vois "ExecRequete". Bon. C'est un mauvais exemple, mais bien souvent, ca dépend aussi de la fonction développée par la personne. 3/ Les recherches sur Google sont assez étonnantes, pour les messages de Dan Il est connu du monde entier 4/ Pour le bouquin, tu peux le garder encore quelques temps
furious Gontran Posté 24 Septembre 2004 Auteur Posté 24 Septembre 2004 4/ Pour le bouquin, tu peux le garder encore quelques temps <{POST_SNAPBACK}> Pas gentil de se moquer, lol...
petit-ourson Posté 24 Septembre 2004 Posté 24 Septembre 2004 Tu peux toujours utiliser les expressions régulières pour ta recherche. Il est possible que ce soit plus gourmand. Source : F. Expressions régulières MySQL
Guest Ldo Posté 24 Septembre 2004 Posté 24 Septembre 2004 Tu peux toujours utiliser les expressions régulières pour ta recherche. Il est possible que ce soit plus gourmand. exact j'ai fait un bench il y a peu de temps, le contexte n'est pas vraiment le même, les résultats parlent d'eux même
petit-ourson Posté 24 Septembre 2004 Posté 24 Septembre 2004 (modifié) Oui ça dépend des besoins. Je ne sais pas si le bench est tres parlant. Quel etait la taille du champ dans lequel tu cherchais ? Avec les expressions régulières, on peut faire des recherche plus poussée. Modifié 24 Septembre 2004 par petit-ourson
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant