le 03/03/2004 à 11:08
i M@N
Hello !
Je fais un site de commande en ligne et j'ai un p'tit souci avec une requête.
A la base la requête c'est ça :
Ce qui donne une url comme ça si on choisit juste le type :
index.php?page=35&format=&label=&artiste=LUCiANO&riddim=&type=DANCE+HALL
En fait j'ai un formulaire avec 5 champs en méthode GET et je voudrais que selon le nombre de champs renseignés, la requête change et ne select que la où les champs sont renseignés. Ainsi l'url ne comporterait que ces variables :
index.php?page=35&artiste=LUCiANO&type=DANCE+HALL
J'ai commencé à faire ça :
Mais j'arrive pas à faire en sorte que le AND disparaisse si il n'y a qu'une seule variable ou si elle est la première dans l'url.
Doit y avoir une solution mais j'avoue que je cale.
Si quelqu'un a une idée, ce serait bien aimable de m'inspirer ...
@+...
Je fais un site de commande en ligne et j'ai un p'tit souci avec une requête.
A la base la requête c'est ça :
<?php
$sql = 'SELECT * FROM catalogue WHERE format LIKE "%'.$format.'%" AND label LIKE "%'.$label.'%" AND artiste LIKE "%'.$artiste.'%" AND riddim LIKE "%'.$riddim.'%" AND type LIKE "%'.$type.'%" ORDER BY format,label,riddim,artiste LIMIT '.$debut.','.$nb_affichage_par_page.'';
?>
Ce qui donne une url comme ça si on choisit juste le type :
index.php?page=35&format=&label=&artiste=LUCiANO&riddim=&type=DANCE+HALL
En fait j'ai un formulaire avec 5 champs en méthode GET et je voudrais que selon le nombre de champs renseignés, la requête change et ne select que la où les champs sont renseignés. Ainsi l'url ne comporterait que ces variables :
index.php?page=35&artiste=LUCiANO&type=DANCE+HALL
J'ai commencé à faire ça :
<?php
$sql = 'SELECT * FROM catalogue WHERE ';
if ($format != "") {
$sql = $sql.'format LIKE "%'.$format.'%" ';
}
if ($label != "") {
$sql = $sql.'label LIKE "%'.$label.'%" ';
}
if ($artiste != "") {
$sql = $sql.'artiste LIKE "%'.$artiste.'%" ';
}
if ($riddim != "") {
$sql = $sql.'riddim LIKE "%'.$riddim.'%" ';
}
if ($type != "") {
$sql = $sql.'type LIKE "%'.$type.'%" ';
}
$sql = $sql.'ORDER BY format,label,riddim,artiste LIMIT '.$debut.','.$nb_affichage_par_page.'';
?>
Mais j'arrive pas à faire en sorte que le AND disparaisse si il n'y a qu'une seule variable ou si elle est la première dans l'url.
Doit y avoir une solution mais j'avoue que je cale.
Si quelqu'un a une idée, ce serait bien aimable de m'inspirer ...
@+...