Afficher les informations de colonnes d'une table

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Afficher les informations de colonnes d'une table

    Bonjour,
    J'ai besoin de récupérer les valeurs d'une colonne d'une table de ma base de données en connaissant les id de chaque enregistrement concerné.
    La liste des id sont présentées comme cela : 25, 26, 31, 32 (par exemple)
    J'ai fait un "Explode" sur la chaîne de caractère, je récupère bien 25263132 pour ensuite construire la requête.

    J'ai besoin de récupérer le valeurs de la colonne "nom" de ma table, qui correspondent aux "id" renvoyées par Explode.

    Voici ce que je fait:

    La variable $this->item->rando_relation affiche les valeurs séparées par une virgule.

    Code:
    <?php
    $list = explode(',', $this->item->rando_relation);
    
    foreach ($list as $liste) {
        $IdRandonnees = trim($liste);
        //print_r($IdRandonnees);
    
            $db = JFactory::getDbo();
            $query = $db->getQuery(true);
            $query->select(array('id','nom'))
            ->from($db->quoteName('#__randonne_randonnees'))
            ->where($db->quoteName('id')." = ".$db->quote($IdRandonnees));
            $db->setQuery($query);
            $ListChapeaux = $db->loadAssocList();
    
            print_r($ListChapeaux);
    
            $idChapeau = $ListChapeaux['id'];            
            $NomChapeau = $ListChapeaux['nom'];
    }        
    ?>
    Voici ce qu'affice le print_r($ListChapeaux);
    Array ( [0] => Array ( [id] => 25 [nom] => Mont AGEL ) ) Array ( [0] => Array ( [id] => 26 [nom] => Cime de l'ASPRE ) ) Array ( [0] => Array ( [id] => 27 [nom] => Mont AGEL 2 ) ) Array ( [0] => Array ( [id] => 30 [nom] => Cime de l'ASPRE 3 ) ) Array ( [0] => Array ( [id] => 31 [nom] => Mont AGEL 4 ) )

    Un echo sur $idChapeau et sur $NomChapeau n'affichent rien.

    J'ai aussi tenté :
    Code:
    $db = JFactory::getDbo();
            $query = $db->getQuery(true);
            $query->select(array('id','nom'))
            ->from($db->quoteName('#__randonne_randonnees'))
            ->where($db->quoteName('id')." = ".$db->quote($IdRandonnees));
            $db->setQuery($query);
            $row = $db->loadRowList();
            print_r($row);

    Que fais-je de mal ?

    Cordialement.

    Eric
    Dernière édition par Agrepe à 22/01/2020, 20h21

  • #2
    Envoyé par Agrepe Voir le message
    Bonjour,
    J'ai besoin de récupérer les valeurs d'une colonne d'une table de ma base de données en connaissant les id de chaque enregistrement concerné.
    La liste des id sont présentées comme cela : 25, 26, 31, 32 (par exemple)
    J'ai fait un "Explode" sur la chaîne de caractère, je récupère bien 25263132 pour ensuite construire la requête.

    J'ai besoin de récupérer le valeurs de la colonne "nom" de ma table, qui correspondent aux "id" renvoyées par Explode.

    Voici ce que je fait:

    La variable $this->item->rando_relation affiche les valeurs séparées par une virgule.

    Code:
    <?php
    $list = explode(',', $this->item->rando_relation);
    
    foreach ($list as $liste) {
    $IdRandonnees = trim($liste);
    //print_r($IdRandonnees);
    
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select(array('id','nom'))
    ->from($db->quoteName('#__randonne_randonnees'))
    ->where($db->quoteName('id')." = ".$db->quote($IdRandonnees));
    $db->setQuery($query);
    $ListChapeaux = $db->loadAssocList();
    
    print_r($ListChapeaux);
    
    $idChapeau = $ListChapeaux['id'];
    $NomChapeau = $ListChapeaux['nom'];
    }
    ?>
    Voici ce qu'affice le print_r($ListChapeaux);
    Array ( [0] => Array ( [id] => 25 [nom] => Mont AGEL ) ) Array ( [0] => Array ( [id] => 26 [nom] => Cime de l'ASPRE ) ) Array ( [0] => Array ( [id] => 27 [nom] => Mont AGEL 2 ) ) Array ( [0] => Array ( [id] => 30 [nom] => Cime de l'ASPRE 3 ) ) Array ( [0] => Array ( [id] => 31 [nom] => Mont AGEL 4 ) )

    Un echo sur $idChapeau et sur $NomChapeau n'affichent rien.
    La réponse est dans ton print_r, regarde, à chaque itération tu récuperes toujours un array d'1 element (ARRAY[0], qui contient un autre array avec tes rubriques .

    C'est une sélection simple, pas une sélection multiple, il faut donc faire simplement un
    Code PHP:
      $ListChapeaux $db->loadAssoc(); 
    Voir : https://docs.joomla.org/Selecting_da...g_JDatabase/fr
    Dernière édition par roland_d_alsace à 22/01/2020, 22h30
    Agrepe aime ceci.
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      Bonjour,
      Merci beaucoup pour ta réponse,

      J'avais fait aussi avec $ListChapeaux = $db->loadAssocList();, mais pas avec $ListChapeaux = $db->loadAssoc();

      Merci beaucoup.

      Cordialement.

      Eric

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X