IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Appliquer un filtre automatique type Excel sur un tableau PHP


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut [Tableaux] Appliquer un filtre automatique type Excel sur un tableau PHP
    bonjour

    j'ai un tableau en PHP et j'aurai souhaité y appliqué un filtre automatique comme on en trouve sur Excel (ou OpenOffice pour les Linuxiens )

    j'ai essayé avec cette fonction et ça me renvoi toujours un tableau identique avec les meme valeurs et le filtre ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ## Filtrage de la colonne Line ##
    	function select_rows_all($tableau) 
    	{ 
    		$temp = array(); 
    		foreach($tableau as $row) 
    		{ 
    			if ($row['Line'] == 'all') 
    			{ $temp[] = $row; } 
    		} return $temp; 
    	}
     $mon_tableau_avec_que_des_all = select_rows_all($mon_tableau);
     
     
     var_dump('<pre>', $data, '</pre>'); /* Affichage du tableau pour vérification */
    je me demandai si par soucis de sécurité je ne devrai pas créer un nouveau tableau qui contiendrai les données filtré ce qui me permettrai d'appliqué autant de filtre que je le souhaite sur le tableau d'origine sans en altérer les données ?
    Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
    Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    De cette façon sans doute.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function select_rows_all($tableau) 
    { 
        $temp = array(); 
        foreach($tableau as $key => $row) 
            if( $row == 'all') 
                $temp[] = $tableau[$key]; 
        return $temp;
    }

  3. #3
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    ok merci je vais essayé

    par contre par mesure de sécu doit on crée un nouveau tableau qui contiendrai les valeurs filtré surtout si j'ai plusieurs filtre à appliqué ??
    Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
    Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Ca dépend à quoi doit servir ton filtre, et le tableau de retour.

    Tu peux très bien te passer de cette fonction, et définir un array des valeurs autorisées, et effectuer une comparaison avec array_diff.

  5. #5
    Nouveau membre du Club Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Points : 38
    Points
    38
    Par défaut
    en fait je veut faire un graphe :

    et pur cela j'ai besoin de deux tableau :
    _ un qui me donne les valeurs pour les abscisses
    _ et l'autre pour les ordonnées

    celui qui me donne les valeurs pour les abscisses et un tableau contenant des heures il est déjà crée déjà crée
    par contre celui qui me donne les valeurs pour les ordonnées et obtenu apres un trie automatique comme ce que j'essaye de faire


    en faite tu as plusieurs colonnes :

    nom_du_serveur / taux d'echec / %de réussite ...


    la colonne nom_du_serveur possede plusieurs noms
    donc j'ai besoin de selctionné les noms identiques qui donne les résultats dans les colonnes taux d'echec, %de réussite ...

    et comme ça sur mon graphe je lui dit :

    trace moi le graphe du taux d'echec du serveur A en fonction des heures

    si c'étais en requettes SQL se serait super simple mais malheuresment Artichow (le prg qui me fait les graphes en PHP) n'accepte que des tableaux PHP pour les valeurs en abscisse et ordonné

    et pourquoi se compliqué la vie en passant par une base de données aors que je peut faire ça directement en PHP

    en fait je sais si il y a un moyen de lui dire dans le premier tableau :
    prend moi toute les valeurs correspondant au serveur A par exemple

    un peu comme ce que fait Excel avec ces filtre automatique

    j'espere que mon explication est pas trop foulli ?
    Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
    Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Je suis pas sûr d'avoir bien compris, mais tu pourrait peut-être utiliser array_filter.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $array = array(1=>'all', 2 => 'one', 3 => 'all');
    function tri($var)
    {
       if( $var == 'all')
       	return $var;
    }
     
    print_r(array_filter($array, "tri"));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Filtre automatique en VBA sur plusieurs niveaux
    Par jlduboc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/05/2015, 16h46
  2. [SP-2010] Appliquer deux filtres avec un ou sur une liste sharepoint
    Par soukaouta dans le forum SharePoint
    Réponses: 1
    Dernier message: 21/05/2013, 10h45
  3. Disabled avec checbox sur un tableau PHP
    Par kiradeus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/05/2010, 13h20
  4. comparaison -tri sur un tableau php
    Par swann_cb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/04/2009, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo