Page 1 sur 1
Perte de filtre
Posté : 20 févr. 2007, 16:11
par Amineeee
mon pb est que quand je lance l'explorateur et que je demande à afficher des données en se basant sur un filtre tout se passe pour le bien mais quand je change le critère de sélection le filtre n'est plus pris en considération et je ne peux effectuer un autre tri que si je lance de nouveau l'application. Bref le filtre n'est operationnel qu'une seule fois.
Posté : 20 févr. 2007, 16:36
par Ryle
Euh..... quel filtre ? quel critère de sélection ? trier quoi ? quelle application ? ...
on pourrait avoir un peu plus d'explications ? un p'tit peu de code ? une p'tite pièce ou un ticket restaurant ? à vot' bon coeur ?

Posté : 20 févr. 2007, 16:48
par Amineeee
j'affiche des demandes suivant leur origine
les demandes sont affichées à partir d'une base de données et au moment de l'affichage on vérifie si le filtre est activé pour ne prendre en considération que les demandes qui vérifient le filtre
merci d'avance
Posté : 20 févr. 2007, 17:30
par Ryle
mouais.... bon....
En fait faut remettre le filtre lorsque tu changes le critère de sélection ou alors le stocker en session, sinon c'est normal qu'il ne le garde pas puisque tu renvois une nouvelle requête...
voilà voilà ....
si avec ça j'ai droit à un résolu, je demande une augmentation.... 
Posté : 20 févr. 2007, 18:37
par Amineeee
les variables du filtre sont sockées en session
on passe le N° du filtre ainsi que ce filtre est activé ou pas
$output .= "<select name='numfiltre'>";
while(list($id,$nomfiltre)=mysql_fetch_row($result){
output .= "<option name='numfiltre' value='$id'>".$nomfiltre/n";}
output .= "</select>\n"
$output .= " <font size=3><b> <input name=activation_filtre value=1 type=radio> Activation</b></font>";
$output .= " <font size=3><b> <input name=activation_filtre value=2 type=radio> Désactivation </b></font>";
$output .= " <INPUT id='ButtonRechercher' value='Valider' title='Valider' type='Button' onclick='javascript:document.myfiltre.submit();' onmouseover=\"return window.status='';\">";
et après la validation du filtre
session_start();
if ($numfiltre && $activation_filtre == 1){
$_SESSION['numfiltre'] = $numfiltre;
}else if ($activation_filtre ==2){
$_SESSION['numfiltre'] = "";
}
$numfiltre = $_SESSION['numfiltre'];
et dans la suite on test sur $numfiltre
Posté : 20 févr. 2007, 18:49
par Ryle
Pense à utiliser les balises
et [code], c'est plus facile pour les relire :)
Donc en fait, si je devine bien, ton problème vient du fait que dans tes listes déroulantes, les critères sélectionnés ne sont pas réaffichés ?
Si c'est bien cela, c'est parce qu'il te faut spécifier explicitement quelle option doit être sélectionnée en lui ajoutant l'attribut "selected". Il te suffit donc de comparer ton $id à la valeur que tu as en session (s'il y en a une) et de coller l'attribut dans l'option qui va bien pour qu'elle soit sélectionnée par défaut :)
[size=59](et si j'ai bon je mérite toujours mon augmentation ! ;))[/size]
Posté : 20 févr. 2007, 19:04
par Amineeee
le pb ne vient pas du fait que les critères sont affichés ou pas dans la liste déroulante
en fait si on utilise le filtre pour la première fois seules les informations qui répondent à ce filtre sont affichées ensuite si on change le choix du filtre il n'est pas pris en compte