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 :

trier une ligne d'un tableau par la valeur d'une clé


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 94
    Points : 88
    Points
    88
    Par défaut trier une ligne d'un tableau par la valeur d'une clé
    Bonjour
    dans une table avec les colonnes suivante id_article,titre_article,text_article_auteur_article

    le résultat d'un sélect mysql ($query->fetchAll(PDO::FETCH_ASSOC) me donne un tableau comme ceci quant je fait un var_dump.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(3) { [0]=> array(4) { ["id_article"]=> string(2) "17" ["titre_article"]=> string(7) "Chevali" ["text_article"]=> string(45) "e cheval est un exemple-phare de la théorie " ["auteur_article"]=> string(9) "wikipedia" } [1]=> array(4) { ["id_article"]=> string(2) "13" ["titre_article"]=> string(6) "Héron" ["text_article"]=> string(76) "Héron est un terme générique désignant de nombreuses espèces d'oiseaux." ["auteur_article"]=> string(9) "Wikipedia" } [2]=> array(4) { ["id_article"]=> string(2) "19" ["titre_article"]=> string(7) "Titre 3" ["text_article"]=> string(7) "Texte 3" ["auteur_article"]=> string(9) "wikipedia" } }
    y'a t'il une fonction php sur les tableau qui permet de trier la ligne correspondant à la valeur d'une clé precise ( exemple id_article )

    par exemple si l'id_article est égale à 15 alors affiche moi seulement la ligne correspondante

    dois je faire un foreach ( ou un foreach de foreach ) ?

    merci pour l'aide.

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux seulement l'id 15, il faut faire une requête filtrant cet id.
    Sinon, classe tes résultats dans un tableau indexé par id :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($row = $query->fetchAll(PDO::FETCH_ASSOC)) {
       $result[$row['id_article']] = $row;
    }

  3. #3
    Membre régulier Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    merci je vais essayer cette solution

  4. #4
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 150
    Points : 423
    Points
    423
    Par défaut
    tu peux faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $key = array_search(15, array_column($tableau, 'id_article'));
    var_dump($tableau[$key])

  5. #5
    Membre régulier Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    Merci Nb , c'est exactement ce que je cherchais.

  6. #6
    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
    @Nb : je viens de découvrir la fonction array_column. Merci pour l'info

  7. #7
    Membre régulier Avatar de Zembla
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    ravi d'avoir indirectement fait connaitre à une pointure comme celira la fonction array_column. Et encore bravo à Nb d'avoir débusquer cette fonction.

    http://php.net/manual/fr/ref.array.php

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

Discussions similaires

  1. [AC-2003] Supprimer une ligne d'un tableau selon la sélection dans une liste
    Par Evolvana dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/08/2011, 09h25
  2. Ajouter une ligne a un tableau "par le haut"
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 12/06/2011, 10h43
  3. Réponses: 15
    Dernier message: 16/09/2009, 16h19
  4. [AC-2007] Alimenter une Liste par les valeurs d'une ligne
    Par curt dans le forum IHM
    Réponses: 11
    Dernier message: 19/04/2009, 12h00
  5. Surligner une ligne d'un tableau par pointage
    Par guidav dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/04/2008, 11h55

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