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 :

Extraction de données par array_filter


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Points : 25
    Points
    25
    Par défaut Extraction de données par array_filter
    Bonjour,

    Je reviens vers PHP après une longue période (1+an) d'abstinence et je coince sur un problème surement très basique, mais je coince:
    J'ai un tableau de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $tableau	array[5]		
    [0]	array[1]		
        [champ]	string	"Ma_donnee_1"	
    [1]	array[1]		
        [champ]	string	"Ma_donnee_2"	
    [2]	array[1]		
        [champ]	string	"variable_1"	
    [3]	array[1]		
        [champ]	string	"variable_2"	
    [4]	array[1]		
        [champ]	string	"Ma_donnee_3"
    Et je veux implode la liste des 'champ' dans une requete SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql="SELECT * FROM table_champs WHERE champ IN(".implode(",",array_filter($tableau,
                                                                                                                    function($var){
                                                                                                                        if(array_key_exists("champ", $var))
                                                                                                                        return $var['champ'];
                                                                                                                    })).") ";
    Je pense que j'utilise bien le array_filter, puisque lorsque je debug, mon $var contient bien les array[1] contenant "champ", mais la requete finale donne ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (string) Select DISTINCT(table_gestion) from ref_donnees_variables where donnee IN(Array,Array,Array,Array,Array)
    au lieu du contenu de "champ".

    J'ai même tenté de return $var[0]['champ'], mais le IN est carrément vide avec ça.

    Qu'est-ce qui peut être faux dans mon array_filter?

    D'avance merci.

    Vincent.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Sauf erreur de ma part, array_filter a besoin d'une fonction de validation, qui doit renvoyer un booléen (vrai : on garde l'élément, faux : on le filtre), ce qui n'est pas le cas de ta fonction.
    Vu ce que tu veux faire, je te conseille d'utiliser plutôt array_map.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [XL-2007] Extraction de données par sous ensemble
    Par apt dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 08/09/2012, 13h53
  2. Réponses: 5
    Dernier message: 31/08/2011, 02h37
  3. [XL-2007] Extraction de données SAP par une macro excel
    Par Gripsou11 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/06/2011, 16h16
  4. Extraction de donnée par ADO ACCESS vers Excel
    Par roidurif dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2009, 18h29
  5. Extraction de données par dates
    Par fancho dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/03/2009, 18h47

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