Submitted by DavidFl on
Salut à toute la communauté,
Je vous fais part d'un problème de requête SQL avec la DAL de Drupal.
Voici le bout de code :
$query = db_select($table, 'c')
->fields('c');
$query->condition($liste_1, $input_1, 'LIKE');
J'aimerai effectuer un like avec %mot_à_rechercher% (ici c'est $input_1) afin que je puisse rechercher aussi bien dans un mot qu'un début ou une fin.
Ma question est comment effectué une requête avec une condition LIKE %mot% sous drupal 7 ? j'ai trouvé peu voir aucune réponse en parcourant le web.
Je vous remercie par avance
Bonjour, il faut sans doute
Permalien Soumis par vincent59 le 5 Janvier, 2012 - 16:02
Bonjour,
il faut sans doute regarder du côté des API : http://api.drupal.org/api/drupal/includes--database--database.inc/functi...
http://drupal.org/node/310086
Il semble qu'avec une requête du type
$query = db_select($table', 'c');
$query->condition($liste_1, $input_1, 'LIKE');
ça puisse fonctionner, si les '%' sont dans la chaîne $input_1
Il faut peut-être "échapper" le caractère '%' par lui-même (c'est à dire utiliser %%)
D’accord, je te remercie je
Permalien Soumis par DavidFl le 5 Janvier, 2012 - 16:15
D'accord, je te remercie je vais essayer. L'API je la consulte depuis longtemps elle n'apporter hélas que peu souvent de réponse.
EDIT : c'est bon sa fonctionne, il faut bien échapper % par lui même, ce que je n'avais pas fait.
$query->condition($liste_1, '%%'.$input_1.'%%', 'LIKE');
Je te remercie de ton aide.