furious Gontran Posté 23 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 23 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
furious Gontran Posté 23 Septembre 2004 Auteur Partager Posté 23 Septembre 2004 Merci... Au fait, cool le systeme de reponse rapide !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 23 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
furious Gontran Posté 24 Septembre 2004 Auteur Partager Posté 24 Septembre 2004 4/ Pour le bouquin, tu peux le garder encore quelques temps <{POST_SNAPBACK}> Pas gentil de se moquer, lol... Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 24 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest Ldo Posté 24 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 24 Septembre 2004 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant