[Résolu] est il possible de faire une Requete sql dynamique?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonsoir, je développe actuellement un moteur de recherche pour drupal.
je suis sur la réalisation du script de la requete sql (traitement des données reçus par le formulaire vers la bonne requete sql).
j'ai donc une requete sql "statique" :

$query = db_select('users_info', 'u')
->fields('u', array('id_member', 'postal', 'city', 'nom', 'prenom', 'Branche', 'societe'))
->condition('postal', array($postal), 'IN')
->condition('branche', array($branche), 'IN')
->execute();

Je voudrais la rendre dynamique : en fonction des informations reçus, ajouter les conditions nécessaires.
comme ceci :

$i = 0;
$start_query = db_select('users_info', 'u')
->fields('u', array('id_member', 'postal', 'city', 'nom', 'prenom', 'Branche', 'societe'));
$condition = array();
$condition[0] = ->condition('postal', array($postal), 'IN');
$condition[1] = ->condition('Branche', array('Avocat'), 'IN');
$query = $start_query;
while ($conditon[$i])
{
$query .= $condition[$i];
$i++;
}
$query->execute();

Hors j'ai une erreur d'operateur sur :

$condition[0] = ->condition('postal', array($postal), 'IN');
$condition[1] = ->condition('Branche', array('$branche'), 'IN');

Alors voila, je ne sais pas si c'est ne serais ce que possible ou si c'est une erreur de ma part qqpart.
(Je préfère poser la question avant de faire chaque requete au cas par cas; au cas ou ;) )

Merci d'avance,

Forum : 
Version de Drupal : 

ok.
Dans ce cas est il possible de faire comme ceci?

$query = db_select('users_info', 'u')
->fields('u', array('id_member', 'postal', 'city', 'nom', 'prenom', 'Branche', 'societe'));
if ($postal != NULL)
$query->condition('postal', array($postal), 'IN');
if ($branche != NULL)
$query->condition('Branche', array($branche), 'IN');
$query->execute();

Bonjour,
apres avoir bien lu le tuto que vs m'avez donnée, et après avoir essayer les methodes proposées, je n'ai pas su generer ma requete dynamique.
voila le code :

$query = db_select('users_info', 'u');
$query->condition('u.postal', array($postal), 'IN');
$query->fields('u', array('id_member', 'postal', 'city', 'nom', 'prenom', 'Branche', 'societe'));
$query->execute;

pour moi ma requete est bonne, mais je n'arrive pas à récupérer ce qu'il y a dedans.
je sais plus quoi faire la, a part devoir faire mes requete une par une mais sa ferais un peu moche(ya dans les 20 requêtes donc 20 if/else, c'est lourd).
D'avance, merci.