{MySQL} like sur champs de la bae avec %
ybvj
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
ybvj Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
ybvj Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de codé une petite requête que je pensais simple et qui me bloque complétement.
Cette requête doit vérifier qu'un le début d'un nom de produit corresponde à un champs de ma base de données.
J'ai donc fait ça :
SELECT * FROM wp_posts where '$nom' like 'wp_posts.nom_commercial%' and wp_posts.post_status="publish" group by wp_posts.post_title order by wp_posts.post_date desc limit 5;
J'ai donc ma variable $nom que je compare à mon champs nom_commercial stocké dans ma base et qui doit me retourner les enregistrements où le début de la variable $nom (exemple : 'motomed x25') correspond à mon champs nom_commercial (exemple : motomed).
Le problème est que mon le % ne semble pas fonctionner avec le champs car soit je ne met pas de "" et erreur sql, soit j'en met et il est interprété comme du texte ...
C'est probablement tout bête mais j'en perd mon latin ...
Merci de votre aide
Je suis en train de codé une petite requête que je pensais simple et qui me bloque complétement.
Cette requête doit vérifier qu'un le début d'un nom de produit corresponde à un champs de ma base de données.
J'ai donc fait ça :
SELECT * FROM wp_posts where '$nom' like 'wp_posts.nom_commercial%' and wp_posts.post_status="publish" group by wp_posts.post_title order by wp_posts.post_date desc limit 5;
J'ai donc ma variable $nom que je compare à mon champs nom_commercial stocké dans ma base et qui doit me retourner les enregistrements où le début de la variable $nom (exemple : 'motomed x25') correspond à mon champs nom_commercial (exemple : motomed).
Le problème est que mon le % ne semble pas fonctionner avec le champs car soit je ne met pas de "" et erreur sql, soit j'en met et il est interprété comme du texte ...
C'est probablement tout bête mais j'en perd mon latin ...
Merci de votre aide
A voir également:
- {MySQL} like sur champs de la bae avec %
- Comment voir les like sur instagram - Guide
- Coco like - Accueil - Réseaux sociaux
- Mysql community server - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Comment supprimer un like sur facebook - Forum Facebook
4 réponses
voila comme exemple d'utilisation de l'expression LIKE dans Oracle, j'espère qui vous aide bien.
SELECT park_name
FROM park
WHERE park_name LIKE 'State Park%';
SELECT park_name
FROM park
WHERE park_name LIKE 'State Park%';
Salut,
je pense que dans votre reqûete vous devez changer la position de la variable nom et la colonne (wp_posts.nom_commercial ) en mettant :
SELECT * FROM wp_posts where 'wp_posts.nom_commercial' like '$nom%' and wp_posts.post_status='publish' group by wp_posts.post_title order by wp_posts.post_date desc limit 5;
et si vous cherchez "motomed25" et dans la base de données vous avez un enregistrement "Motomed" c'est normal qu'il va pas l'afficher, car lorsqu'il cherche une valeur qui débute avec "Motomed25", il va pas l'a trouver car même "Motomed" ne débute pas avec "mohamed25".
Mais si vous essayer l'inverse ça va retourner une résultat, si vous avez une valeur "Motomed" essaye de chercher en mettant "Motom".
Bonne Chance
je pense que dans votre reqûete vous devez changer la position de la variable nom et la colonne (wp_posts.nom_commercial ) en mettant :
SELECT * FROM wp_posts where 'wp_posts.nom_commercial' like '$nom%' and wp_posts.post_status='publish' group by wp_posts.post_title order by wp_posts.post_date desc limit 5;
et si vous cherchez "motomed25" et dans la base de données vous avez un enregistrement "Motomed" c'est normal qu'il va pas l'afficher, car lorsqu'il cherche une valeur qui débute avec "Motomed25", il va pas l'a trouver car même "Motomed" ne débute pas avec "mohamed25".
Mais si vous essayer l'inverse ça va retourner une résultat, si vous avez une valeur "Motomed" essaye de chercher en mettant "Motom".
Bonne Chance
Merci de votre aide,
J'interroge ma base mysql en passant par du php.
Mon champ "wp_posts.nom_commercial" contient le terme à recherché qui est constitué d'une version tronqué du nom complet.
Je dois dois vérifier si $nom, ma variable contenant le nom complet du produit, ressemble à "wp_posts.nom_commercial" qui contient le nom ou un abrégé du nom du produit stocké dans la base.
D'où l'ordre de ma requête afin de trouver si $nom débute par "wp_posts.nom_commercial" mais cela semble impossible de rajouter % afin de ne prendre en compte que le début de $nom ...
Voilà mon problème.
Si j'inverse l'ordre, cela ne fonctionne plus evidemment vu que $wp... contient la version tronqué et non complète.
J'interroge ma base mysql en passant par du php.
Mon champ "wp_posts.nom_commercial" contient le terme à recherché qui est constitué d'une version tronqué du nom complet.
Je dois dois vérifier si $nom, ma variable contenant le nom complet du produit, ressemble à "wp_posts.nom_commercial" qui contient le nom ou un abrégé du nom du produit stocké dans la base.
D'où l'ordre de ma requête afin de trouver si $nom débute par "wp_posts.nom_commercial" mais cela semble impossible de rajouter % afin de ne prendre en compte que le début de $nom ...
Voilà mon problème.
Si j'inverse l'ordre, cela ne fonctionne plus evidemment vu que $wp... contient la version tronqué et non complète.