Requete mysql

Fermé
linol - 3 sept. 2010 à 09:51
 linol - 3 sept. 2010 à 10:22
Bonjour,
je voudrais savoir si MySql peut effectuer des requêtes sur des morceaux de chaines de caractères.
je voudrais faire un champ qui contiendrai plusieurs données séparé par une virgule (donnée1, donnée2, ...) et ensuite je voudrais pouvoir retrouver tous les éléments dont telle ou telle données y figure.
Exemple j'enregistre un carnet de recette de cuisine et dans un champ je voudrais mettre tous les ingrédients ( exemple: tomates, courgettes, ...) et ensuite je voudrais pouvoir obtenir toutes les recettes dans lesquelles ont trouve un ingrédient (exemple: courgette)
En vous remerciant d'avance.

2 réponses

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
3 sept. 2010 à 09:55
MySQL effectue des requêtes sur une base de donnée, sur une ou plusieurs table.
Pour ton problème, il est possible d'enregistrer des chaines de carctères quelconque dans une base de donnée, il suffit de configurer le champ en "TEXT". La preuve, ce forum est enregistré dans une base de données =)
0
je suis d'accord mais dans ce cas comment dois-je exprimer ma requete mysql ?
(en reprenant le meme exemple, c'est a dire recette c'est ma table, et ingrédient le champs dans lequel sont inscrit les ingrédients)
$sql = "SELECT * FROM 'recette'WHERE 'ingredient' LIKE 'courgette'"; ?
ou dois écrire ma requête différemment?

Merci beaucoup
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
3 sept. 2010 à 10:13
$sql = "SELECT * FROM 'recette'WHERE 'ingredient' LIKE '%courgette%'"; 

Les "%" remplacent une chaine de caractère qui peut-être nulle. Je te renvoie à https://www.commentcamarche.net/contents/1066-sql-restriction pour plus d'info.
0
je vais tester tout ça, merci de m'avoir répondu si vite.
0