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 :

In_array Recherche plusieurs colonne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 830
    Par défaut In_array Recherche plusieurs colonne
    Bonjour à tous,


    J'ai un array que j'alimente avec des données mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach($daterangeperiodeconges as $dateperiodeconges){
      $listedateperiodeconges[]= $dateperiodeconges;
     
    }
    Et j'ai un in_array pour recherche dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      if (in_array($data, $listedateperiodeconges)) 
      {
        echo "class=\"cp\">cp";
      }
      else	
      {
        echo "class=\"travail\">";
      }
    Ca fonctionne

    Par contre dans mon array je voudrais rajouter 2 colonnes en plus .
    Mon array serait: Date|valeur_ID|0/1



    Par contre avec in_array je voudrait toujours pouvoir rechercher (la valeur rechercher serait toujours la premier colonne (date) et récuperer les valeurs des colonnes 2 et 3. Est-ce réalisable ?

    merci d'avance pour vos conseils et méthodes

    guigui69

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu n'as pas de doublons de date, met la en index du tableau et fait le contrôle avec isset(); en plus c'est beaucoup plus rapide

    foreach($daterangeperiodeconges as $dateperiodeconges){
    $listedateperiodeconges[$dateperiodeconges]= array(cequetuveux);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($listedateperiodeconges($data)) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 830
    Par défaut
    Bonjour Sabotage,

    merci pour tes conseils,

    Donc normalement il y a pas de doublon car dans ma base mysql il récupérer début et fin des congés et il liste les date entre ces deux dates.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $listedateperiodeconges[$dateperiodeconges]= array(cequetuveux);
    dans le array(cequetuveux) je suis limité en colonne ?

    guigui69

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Non. Tu n'es pas limité. A la rigueur, les données extraites de ta table sont déjà dans un tableau.

  5. #5
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Tu peux utiliser la fonction in_array sur le retour de la fonction array_column, pour ne rechercher la valeur que sur la colonne désirée. Ainsi tu peux rechercher ta valeur dans ton tableau multidimensionnel.

    Ça t'évite de faire une fonction récursive

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    aucune chance d'y arriver avec la fonction in_array() par contre avec array_walk() c'est tout à fait faisable :
    dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    $data = [[
        'date'      => '2017-01-01',
        'valeur_id' => 32145,
        '0/1'       => '1'
    ], [
        'date'      => '2017-05-01',
        'valeur_id' => 41789,
        '0/1'       => '0'
    ], [
        'date'      => '2017-07-01',
        'valeur_id' => 87456,
        '0/1'       => '0'
    ]];
     
     
    $filter = [];
     
    array_walk($data, function($v, $k) use (&$filter)
    {
        if ($v['date'] === '2017-05-01') {
            $filter[] = $v;
        }
    });
     
    print_r($filter);
    Tu codes vraiment sur PHP 5.0 qui date de plus de 12 ans maintenant ?

Discussions similaires

  1. rechercher remplacer sur plusieurs colonnes
    Par deca2 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/05/2008, 11h57
  2. Recherche Valeur dans plusieurs colonnes
    Par grec38 dans le forum Excel
    Réponses: 14
    Dernier message: 08/04/2008, 14h37
  3. Recherche VBA dans plusieurs colonnes.
    Par madchemiker dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/07/2007, 13h09
  4. [VBA-E] Recherche sur plusieurs colonnes ?
    Par Kokito dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2006, 13h27
  5. Recherche dans plusieurs colonnes d'une table
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 26/07/2006, 11h58

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