C'est vrais que dis comme ça, c'est pas vraiment optimiser.
j'ai une dizaine de catégories, exemple : rouge, noir, gris, vert, violet...
l'utilisateur pourrait choisir rouge et noir, ou rouge, noir et vert...
Voici pour le moment à quoi ressemble mon code :
<form method="post" action="">
<input class="rouge" type='checkbox' name='couleur_list]' value="rouge" id="rouge"/><label for="rouge">rouge</label>
<input class="noir" type='checkbox' name='couleur_list]' value="noir" id="noir"/><label for="noir">noir</label>
<input class="gris" type='checkbox' name='couleur_list]' value="gris" id="gris"/><label for="gris">rouge</label>
<input class="vert" type='checkbox' name='couleur_list]' value="vert" id="vert"/><label for="vert">vert</label>
....
<input type="submit">ok</button>
</form>
<?php
if(!empty($_POST'couleur_list'])) {
$options = $_POST'couleur_list'];
foreach ($options as $option) {
if($option == 'rouge'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'rouge';
}
if($option == 'rouge'.'noir'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'rouge' AND couleur LIKE 'noir';
}
if($option == 'rouge'.'noir'.'gris'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'rouge' AND couleur LIKE 'noir' AND couleur LIKE 'gris' ;
}
....
if($option == 'noir'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'noir';
}
if($option == 'gris'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'gris';
}
if($option == 'vert'){
$request = blabla FROM objet blabla WHERE couleur LIKE 'gris';
}
}
}