Récupérer l'id en fonction du username

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

  • [RÉGLÉ] Récupérer l'id en fonction du username

    Bonsoir,
    J'ai besoin de récupérer l'ID d'un utilisateur en fonction de son username.

    J'ai fait cela, mais mon echo affiche array et pas l'ID de l'utilisateur.
    Quelqu'un saurait-il m'aider ?

    Cordialement.

    Eric

    Mon morceau de fichier:
    Code PHP:
    <?php
    // Username de l'ami
    $utilisateur $this->html('html.user'$target);

    // Connexion à la base de données
    $db JFactory::getDBO();

    // Créer une nouvelle question
    $query $db->getQuery(true);
    // Sélection de l'enregistrement de la table USERS où la clé est egal à $utilisateur 
    $query->select($db->quoteName(array('id''username')));
    $query->from($db->quoteName('#__users'));
    $query->where($db->quoteName('username') . ' = '$db->quote($utilisateur));
    //Classement de la sortie
    //$query->order('id ASC');

    // Réinitialiser la requête en utilisant notre objet de requête nouvellement peuplée.
    $db->setQuery($query);
    $results $db->loadObjectList();

    echo 
    $results;
    ?>

  • #2
    Re : Récupérer l'id en fonction du username

    Je pense que tu n'utilises pas des briques deja creees par Joomla

    utilise la classe Juser.


    Sinon pour repondre directement a ton message, et vu que tu connais un peu la programmation, remplace ton echo par
    Code PHP:
    print_r($result);
    ou 
    var_dump
    ($result);

    #si resultat vide, rajoute apres le setQuery
    $db->execute(); 
    ++
    Wis
    Dernière édition par Wismer à 28/01/2017, 06h42

    Commentaire


    • #3
      Re : Récupérer l'id en fonction du username

      Bonjour, merci pour ta réponse.
      Mais je me suis peut-être mal exprimé, ce n'est pas l'id de l'utilisateur font j'ai besoin.
      J'ai besoin de récupérer l'id d'un utilisateur quand je connais son username.
      Cordialement.
      Éric

      Commentaire


      • #4
        Re : Récupérer l'id en fonction du username

        Sauf erreur, tu demandes bien de recevoir en réponse à ta requête un tableau, et pas seulement l'ID :
        $query->select($db->quoteName(array('id', 'username')));
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Re : Récupérer l'id en fonction du username

          Bonjour,
          Effectivement c'est uniquement l'ID que je veux récupérer.
          Cordialement.
          Eric

          Commentaire


          • #6
            Re : Récupérer l'id en fonction du username

            Dans ce cas, ceci ne suffit-il pas ?
            $query->select($db->quoteName('id'));
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Re : Récupérer l'id en fonction du username

              En complément, au lieu de $db->loadObjectList() essayez $db->loadResult() comme conseillé https://docs.joomla.org/Selecting_da...g_JDatabase/fr

              Pascal
              If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

              Commentaire


              • #8
                Re : Récupérer l'id en fonction du username

                Envoyé par pmleconte Voir le message
                En complément, au lieu de $db->loadObjectList() essayez $db->loadResult() comme conseillé https://docs.joomla.org/Selecting_da...g_JDatabase/fr

                Pascal
                +1 : la il charges son id dans un objet.
                Donc pour le retrouver c est $result->id......

                Comme l id est unique alors le loadresult est indiqué.

                Mais avec jfactory::get_user. cela sera le plus simple et cela enleveras une requete.

                Commentaire


                • #9
                  Re : Récupérer l'id en fonction du username

                  Bonjour,
                  Merci beaucoup pour tous ces conseils.

                  Toutefois, je rencontre un autre petit souci.
                  Quand j'utilise ma variable
                  Code PHP:
                  $utilisateur $this->html('html.user'$target); 
                  Elle affiche bien le prénom eric
                  Mais la ligne
                  Code PHP:
                  $query->where($db->quoteName('username') . ' = '$db->quote($utilisateur)); 
                  Ne la reconnais pas.
                  Si je transforme cette variable en
                  Code PHP:
                  $utilisateur "eric"
                  La ligne
                  Code PHP:
                  $query->where($db->quoteName('username') . ' = '$db->quote($utilisateur)); 
                  La reconnait bien.

                  Code PHP:
                  <?php
                  // Username de l'ami
                  //$utilisateur = $this->html('html.user', $target);
                  $utilisateur "eric";
                  ?>
                  <?php
                  // Connexion à la base de données
                  $db JFactory::getDBO();
                  // Créer une nouvelle question
                  $query $db->getQuery(true);
                  // Sélection de l'enregistrement de la table USERS où la clé est = à $utilisateur 
                  $query->select($db->quoteName('id''username'));
                  $query->from($db->quoteName('#__users'));
                  $query->where($db->quoteName('username') . ' = '$db->quote($utilisateur));
                  // Réinitialiser la requête en utilisant notre objet de requête nouvellement peuplée.
                  $db->setQuery($query);
                  $results $db->loadResult();
                  // Control de $results
                  //echo $results;
                  ?>
                  Avez-vous une idée de ce qui se passe ?

                  Cordialement.

                  Eric

                  Commentaire


                  • #10
                    Re : Récupérer l'id en fonction du username

                    et que dit le print_r ou le var_dump de ta variable.


                    Code PHP:
                    $utilisateur $this->html('html.user'$target); 
                    print_r($utilisateur); 
                    ++
                    wis

                    Commentaire


                    • #11
                      Re : Récupérer l'id en fonction du username

                      Il affiche bien la bonne information, à savoir le username
                      je pense qu'il me faut transformer la variable en chaîne de caractères
                      je n'ai pas eu le temps d'essayer.
                      je le fais cet après-midi

                      Commentaire


                      • #12
                        Re : Récupérer l'id en fonction du username

                        Juste par curiosite, tu peux mettre le

                        Code PHP:
                        print_r($query); 

                        Commentaire


                        • #13
                          Re : Récupérer l'id en fonction du username

                          Effacé....
                          Dernière édition par Agrepe à 31/01/2017, 18h30

                          Commentaire


                          • #14
                            Re : Récupérer l'id en fonction du username

                            Désolé pour le émoticones
                            C'est pas beau de tirer la langue. Pour éviter cela, il suffit de mettre le tout dans un bloc code. Exemple
                            Code:
                            [call:protected] => [exec:protected] => [union:protected] => [unionAll:protected] => )
                            UP, le plugin universel à découvrir sur https//up.lomart.fr
                            bgMax
                            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                            Commentaire


                            • #15
                              Re : Récupérer l'id en fonction du username

                              Désolé.
                              Quel est le code que tu m'as renvoyé ?

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X