Comment créer un query en SQL avec plusieurs dropbox?
Bonjour,
Je veux créer un query en SQL á partir de plusieurs dropbox.
L'utilisateur choisis les différents critéres qu'il désire (ou non) pour sa sélection.
L'utilisateur appuie ensuite sur un bouton qui rassemble ses informations afin d'en faire un query.
Je passe les informations voulues ainsi:
Code:
1 2 3 4
|
if ($division != '') { $query_elementer['division'] = $division;}
if ($department != '') { $query_elementer['department'] = $department; }
if ($title_field != '') { $query_elementer['e_title'] = $title_field; } |
Je compte ensuite le nombre d'éléments de l'array pour en faire mon query:
Code:
1 2 3 4 5 6 7 8
|
if (count($query_elementer)==0)
{ $query= select * from table; }
if (count($query_elementer)==1) {
foreach ($query_elementer as $enkelte_query_elementer => $enkelte_query_value)
$query = 'selct * from table WHERE '. $enkelte_query_elementer .'='. $enkelte_query_value;
} |
Jusque lá pas de problémes.
Par contre ca commence avec :
Code:
1 2
|
if (count($query_elementer)==1) |
Lá j'ai 2 choix:
Soit j'écris:
Code:
1 2
|
$query= $query . 'where '. $enkelte_query_elementer .'='. $enkelte_query_value . 'AND'; |
Soit j'écris:
Code:
1 2
|
$query= $query . 'AND where '. $enkelte_query_elementer .'='. $enkelte_query_value; |
Mais j'ai un "AND" qui se ballade tout seul!
Ma question est donc:
Est il possible d'avoir une sorte d'index dans mon array, oú je pourrais faire quelquechose comme ca?:
Code:
1 2 3 4 5 6
|
if (count($query_elementer)>1) {
$query = ´select * from table´;
foreach ($query_elementer as $i ) {
if ($query_elementer[$i] == 0) { $query = $query . 'where '. $enkelte_query_elementer .'='. $enkelte_query_value; }
else $query = $query . ' AND where '. $enkelte_query_elementer .'='. $enkelte_query_value; } |
Je me rends bien compte que mon exemple ne tient pas la route, mais c'est la raison pour laquelle je vous écrit!
Est ce mon approche qui est mauvaise?
Est ce que je devrais passer mon array dans une deuxiéme array pour lui donner un aspect tredimensionnelle?
Avez vous une idée, de la lecture, un tutorial?