Récupération de champs dans la bdd

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

  • Récupération de champs dans la bdd

    Bonjour à tous,

    J'ai une question qui ne sera peut etre qu'une simple formalité pour vous mais j'aimerais récupérer les valeurs des champs de ma table contenues dans jos_vm_user_info.

    Mes champs ne sont pas affichés dans le mail que j'envoie ensuite.
    Je pense que mon erreur viens de la récupération des valeurs de champ qui se fait mal
    Voyez vous une erreur dans mon code ?

    Code:
    		$user_id =$user->id;
    		$q = "SELECT * from jos_vm_user_info WHERE (jos_vm_user_info.user_id='$user_id')";
    		$db->setQuery( $q );
    		$userInfo = $db->loadRow();
    		$address_1 =$userInfo->address_1;
    		$zip =$userInfo->zip;
    		$city =$userInfo->city;
    		$country =$userInfo->country;
    		$phone_1 =$userInfo->phone_1;
    		$nomSociete = $userInfo->company;
    		$civilite = $userInfo->title;
    		$prenom = $userInfo->first_name;
    		$nom = $userInfo->last_name;
    Merci de votre aide.

  • #2
    Re : Récupération de champs dans la bdd

    Salut,

    Si tu fait le tests juste d'afficher le résultat de ta requête y a t il u n message d'erreur?

    Sinon je pense que dans le where il ne faut pas faire comme ça.

    J'ai pas la syntaxe de tête mais : je ne mettrais pas de parenthèses + la concaténation avec la variable $user_id ne doit pas se faire comme ça je pense

    (tien je viens de trouver un article sur la concaténation : http://www.phpdebutant.org/article55.php).

    @++
    Merci de mettre à jour le titre de votre sujet quand il est réglé

    -- CV : http://annebc.0fees.net/ - Fiche Extensions Joomla Fr :
    http://extensions.joomla.fr/rechercher-par-contributeur/anne-brunas-dp1
    --

    Commentaire


    • #3
      Re : Récupération de champs dans la bdd

      Envoyé par Bobo4913 Voir le message
      $q = "SELECT * from jos_vm_user_info WHERE (jos_vm_user_info.user_id='$user_id')";
      Je rejoins ndsaerith; la concaténation est incorrecte.

      Code:
      $q = "SELECT * from jos_vm_user_info WHERE (jos_vm_user_info.user_id=".$user_id.")";
      Vu qu'il s'agit d'une variable numérique, nul besoin de mettre des single-quotes.

      Pour débogger ton code; tu pourrais faire un
      Code:
      print_r ($userInfo);
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        Re : Récupération de champs dans la bdd

        Tout d'abord merci pour vos réponses rapides

        J'ai procédé a quelques modifications mais mes variables sont toujours vides lorsque je les affiche sur mon mail.
        Le problème viens donc de l'instanciation de mes variables. Je n'ai aucune erreur php affichée sinon.

        J'ai pas trouvé le moyen de debogger mon code, le fichier php ne peut pas étre executé a part et renvoi juste les variables affichées par un %s dans un autre fichier.

        Je suis donc rendu là, y a surement des inexactitudes etant donné que je redemarre php après avoir seulement appris en cours et arrété pendant deux ans.

        Code:
                $user_id =$user->id;
                $userInfo=mysql_fetch_array('SELECT * FROM jos_vm_user_info WHERE user_id ='.$user_id);
                $address_1 =$userInfo->address_1;
                $zip =$userInfo->zip;
                $city =$userInfo->city;
                $country =$userInfo->country;
                $phone_1 =$userInfo->phone_1;
                $nomSociete = $userInfo->company;
                $civilite = $userInfo->title;
                $prenom = $userInfo->first_name;
                $nom = $userInfo->last_name;
        Je dois faire une bétise ici :
        Code:
        $userInfo=mysql_fetch_array('SELECT * FROM jos_vm_user_info WHERE user_id ='.$user_id);
        Mais laquelle ?

        Commentaire


        • #5
          Re : Récupération de champs dans la bdd

          Re

          Pour debogger ton code tu peux utiliser le print_r comme disait cavo789 ou des echo entre chaque ligne pour voir ou en sont tes variables.

          Sinon je ne voit pas trop d'erreurs dans le code que tu as mit.

          Par contre, personnellement j'utiliserais des noms de variables plus personnalisés pour être sur de ne pas faire de conflit avec joomla.

          @++
          Merci de mettre à jour le titre de votre sujet quand il est réglé

          -- CV : http://annebc.0fees.net/ - Fiche Extensions Joomla Fr :
          http://extensions.joomla.fr/rechercher-par-contributeur/anne-brunas-dp1
          --

          Commentaire


          • #6
            Re : Récupération de champs dans la bdd

            Le fichier PHP ne peut pas étre exécuté seul.
            ( Restricted access to this plugin).
            La fonction qui nous intéresse renvoi les variables en paramètre qui sont utilisés par un autre fichier php.
            Je ne sait pas utiliser les echos ou un print-r dans ce cas

            C'est pas facile :/

            Commentaire


            • #7
              Re : Récupération de champs dans la bdd

              Envoyé par Bobo4913 Voir le message
              Tout d'abord merci pour vos réponses rapides

              J'ai procédé a quelques modifications mais mes variables sont toujours vides lorsque je les affiche sur mon mail.
              Le problème viens donc de l'instanciation de mes variables. Je n'ai aucune erreur php affichée sinon.

              J'ai pas trouvé le moyen de debogger mon code, le fichier php ne peut pas étre executé a part et renvoi juste les variables affichées par un %s dans un autre fichier.

              Je suis donc rendu là, y a surement des inexactitudes etant donné que je redemarre php après avoir seulement appris en cours et arrété pendant deux ans.

              Code:
                      $user_id =$user->id;
                      $userInfo=mysql_fetch_array('SELECT * FROM jos_vm_user_info WHERE user_id ='.$user_id);
                      $address_1 =$userInfo->address_1;
                      $zip =$userInfo->zip;
                      $city =$userInfo->city;
                      $country =$userInfo->country;
                      $phone_1 =$userInfo->phone_1;
                      $nomSociete = $userInfo->company;
                      $civilite = $userInfo->title;
                      $prenom = $userInfo->first_name;
                      $nom = $userInfo->last_name;
              Je dois faire une bétise ici :
              Code:
              $userInfo=mysql_fetch_array('SELECT * FROM jos_vm_user_info WHERE user_id ='.$user_id);
              Mais laquelle ?

              mysql_fetch_array retourne un tableau , et toi tu utilise la variable $userInfo comme si c'été un objet

              j'ai pas tester , mais ca me parait logique

              mais bon , je te conseille d'utiliser les classes joomla! , voila un exemple de code que tu peux mettre dans ton model :

              Code PHP:
              public function getUsers() {
                      
              $db JFactory::getDBO();
                  
              $query $db->getQuery(true);
                      
              $query->select('id,name');
                      
              $query->from('#__matable');
                      
              $db->setQuery((string) $query);
                      
              $resultat$db->loadObjectList();

              dans $resultat tu aura une liste d'objets très faciles a manipuler ...

              pour deboger , tu as netbeans + xdebug , ca t affiche n'importe quel variable .
              Dernière édition par Tarak à 22/08/2011, 04h43
              DesignBoh ( designboh.com ) agence de communication en Tunisie. Experts Joomla et Wordpress.

              Mon blog : http://bouziri-tarak.blogspot.com/

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X