Salut Spirit
Code : Tout sélectionner
$query_list = array();
if ($budget != "0") {$query_list[] = "id_budget = '".$budget."'";}
if ($secteur != "0") {$query_list[] = "id_secteur = '".$secteur."'";}
if ($type != "0") {$query_list[] = "id_type = '".$type."'";}
if (!empty($query_list)) {
if(isset($_SESSION['query_text']))
{
$query_text = $_SESSION['query_text'] ;
echo 'session existe';
}
else {
$_SESSION['query_text'] = $query_text ;
$query_text = implode(" AND ", $query_list);
echo 'pas de session';
}
$sql_result = "SELECT * FROM matble WHERE ".$query_text ;
/* La suite du code ... */
?>
ça marche mais pas ma tentative de session !!! peut être à cause de la valeur de $query_text ?

Au fait, je ne sais pas trop, mais là, à première vue, je dirais que tu tentes de mémoriser des données dans une session alors qu'elles n'ont pas été encore déclarées
Au fait, il faudrait que la variable "$query_text" soit affectée avant de tenter de la mémoriser dans la session, du coup, voici ce que je ferais :
<?php
// Construction de la liste des query valides
$query_list = array();
if ($budget != "0") {$query_list[] = "id_budget = '".$budget."'";}
if ($secteur != "0") {$query_list[] = "id_secteur = '".$secteur."'";}
if ($type != "0") {$query_list[] = "id_type = '".$type."'";}
// Si la liste n'est pas vide :
if (!empty($query_list)) {
// Si une session "query_text" existe, on recupere sa valeur,
// sinon on utilise celle issue de la variable "$query_list"
if(isset($_SESSION['query_text'])) {
$query_text = $_SESSION['query_text'] ;
} else {
$query_text = implode(" AND ", $query_list);
$_SESSION['query_text'] = $query_text ;
}
$sql_result = "SELECT * FROM matble WHERE ".$query_text ;
/* La suite du code ... */
}
/* Le reste du code... */
?>
Bon, je pense que là ça devrait fonctionner, mais comme je ne sais pas ce qu'il y a avant, ni ce qui se passe après, je ne peux rien assurer...
Sinon, n'hésites pas à indenter ton code pour y voir plus clair...
Tiens-nous au courant Stp... à+
[Edit]
En y réfléchissant, je pense qu'il faut tester la présence de la variable "query_text" de la session avant de construire la liste des query... si la session ne contient aucune valeur, alors on génère la liste... bref, voici ce que ça rendrait :
<?php
$query_text = '';
// Si une session "query_text" existe et qu'elle n'est pas vide, on recupere sa valeur,
if(isset($_SESSION['query_text']) && !empty($_SESSION['query_text'])) {
$query_text = $_SESSION['query_text'] ;
} else {
// Construction de la liste des query valides
$query_list = array();
if ($budget != "0") {$query_list[] = "id_budget = '".$budget."'";}
if ($secteur != "0") {$query_list[] = "id_secteur = '".$secteur."'";}
if ($type != "0") {$query_list[] = "id_type = '".$type."'";}
// Si la liste n'est pas vide on utilise ses valeurs
if (!empty($query_list)) {
$query_text = implode(" AND ", $query_list);
$_SESSION['query_text'] = $query_text;
}
}
// Si la variable "$query_text" n'est pa vide, alors on lance la requete
if (!empty($query_text)) {
$sql_result = "SELECT * FROM matble WHERE ".$query_text;
/* La suite du code ... */
}
?>
Test les deux pistes et dis-nous celle qui a le comportement le plus adapté à ce que tu cherches à faire...
Voilô...

[/Edit]