Bonjour, j'aimerais savoir si il est possible de réécrire cette requête :
SELECT * FROM livres WHERE $critere LIKE '%$mot%' ORDER BY $critere $ordre
en PDO et sans concaténation.
Voilà ce que j'aimerais faire :
Ce que je veux faire, c'est une requête avec DEUX données aléatoires, en fonction de ce que le visiteur saisi. La première donnée représentée par '%$mot%' correspond au mot que je veux rechercher dans la base de données. Mais j'ai également une deuxième donnée aléatoire, celle du champ dans lequel faire la recherche. Je ne veux faire la recherche que dans un seul champ et ignorer les autres champs. Mais je ne veux pas faire la recherche dans tous les champs, ni à la fois ni l'un après l'autre, ni de quelque autre manière que ce soit. Je veux pouvoir sélectionner, aléatoirement, un des champs dans lequel faire la recherche, et ne faire la recherche que dans ce champ là uniquement et pas dans les autres. Pour sélectionner un champ de la base de données, je veux que le visiteur choisisse un des champs de la base de données dans un liste déroulante, et je récupère l'information, qui correspond à $critere, et en fonction du choix du visiteur (le critère de recherche, autrement dit dans quel champ de la base données il faut chercher ?), je cherche dans un des champs de la base de données.
Donc, traduire en requête écrite avec l'objet PDO la demande suivante : Sélectionnes toutes les informations de la table livres où "le critère de recherche" (qui correspond au nom du champ de la table dans laquelle il faut faire la recherche) choisi par le visiteur contient un mot qui ressemble au mot que le visiteur recherche, que le résultat soit ordonné selon le critère (nom d'un champ de la table) sélectionné par le visiteur.
Partager