Perte de filtre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Perte de filtre

par Amineeee » 20 févr. 2007, 19:04

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

par Ryle » 20 févr. 2007, 18:49

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]

par Amineeee » 20 févr. 2007, 18:37

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

par Ryle » 20 févr. 2007, 17:30

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.... ;)

par Amineeee » 20 févr. 2007, 16:48

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

par Ryle » 20 févr. 2007, 16:36

Euh..... quel filtre ? quel critère de sélection ? trier quoi ? quelle application ? ... :-s

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 ? :)

Perte de filtre

par Amineeee » 20 févr. 2007, 16:11

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.