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

  1. #1
    Candidat au Club
    Afficher les données de l'utilisateur connecté
    Bonjour à tous,
    j'ai ce petit bout de code php qui fonctionne très bien.
    Seulement il m'affiche les données du champ1 de tous les utilisateurs.
    Comme utiliser ce code en ne ciblant les infos que de l'utilisateur connecté ?
    Merci de votre aide...

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $mysqli = new mysqli('localhost', 'root', '', 'mabdd');
    $mysqli->set_charset("utf8");
    $requete = 'SELECT * FROM matable';
    $resultat = $mysqli->query($requete);
    while ($ligne = $resultat->fetch_assoc()) 
    {echo $ligne['champ1'].'  ';}
    $mysqli->close(); ?>

  2. ###raw>post.musername###
    Membre expert
    Bonsoir,

    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
    <?php
    //mettons que tu aies mis en session le client_id : $_SESSION['client_id']
    $mysqli = new mysqli('localhost', 'root', '', 'mabdd');
    $mysqli->set_charset("utf8");
    $requete = 'SELECT champ1 FROM matable WHERE id=?';
    if ($stmt = $mysqli->prepare()) {
      $stmt->bind_param('i', $_SESSION['client_id']);
      $stmt->execute();
      $resultat = $stmt->get_result();
      $ligne = $resultat->fetch_assoc();
      if(!empty($ligne)){
        echo $ligne['champ1'];
      }
      else{
        echo 'Ce client n\'est pas enregistré';
      }
    }
    else{
      echo 'anomalie requête';
    }  
    $mysqli->close(); 
    ?>
      0  0

  3. #3
    Candidat au Club
    Bonjour Dendrite et merci de ta réponse rapide.
    Pour le moment je teste et j'ai une erreur requète...

    //mettons que tu aies mis en session le client_id : $_SESSION['client_id'].
    Peux-tu me donner plus de détails pour bien comprendre.
    client_id = dois-je entrer le N° de l' ID de l'utilisateur genre 50 ou simplement entrer user_id ?
    c'est la fonction WHERE que j'ai du mal à comprendre.
    Ce que je souhaite faire, c'est qu' une fois l'utilisateur connecté, il puisse accéder à par exemple un contrat de location prérempli automatiquement avec les données du formulaire d' enregistrement..
    Je travaille avec joomla et community builder.
    Est-ce que WHERE oblige à spécifier l' ID de l'utilisateur X ? et donc n'est pas approprié pour l'utilisateur Y ?

    mon code réel =
    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
    <?php
    $mysqli = new mysqli('localhost', 'root', '', 'joomla');
    $mysqli->set_charset("utf8");
    $requete = 'SELECT username FROM u7avc_users WHERE id=?';
    if ($stmt = $mysqli->prepare()) {
      $stmt->bind_param('i', $_SESSION['id']);
      $stmt->execute();
      $resultat = $stmt->get_result();
      $ligne = $resultat->fetch_assoc();
      if(!empty($ligne)){
        echo $ligne['username'];
      }
    }
    else{
      echo 'anomalie requête';
    }  
    $mysqli->close(); 
    ?>


    merci.

  4. #4
    Candidat au Club
    suite test
    J'ai testé ton code en spécifiant l'ID de l'utilisateur et ça fonctionne très bien.
    Seulement cela oblige à spécifier id de l'user,
    Ce que souhaterai faire, c'est que ce petit bout de code puisse détecter automatiquement l'user connecté par son ID par exemple et n'afficher que les champs correspondants.
    Comme un profile utilisateur.
    Donc malheureusement ton code ne rempli pas la demande.

    Il y a bien le getUser mais il ne me prend que les champs natifs de joomla.
    Peut-on spécifier un getUser avec une autre table exemple la table infos ?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
       $user = JFactory::getUser() ;
       echo $user->name ;
    ?>

  5. #5
    Candidat au Club
    solution
    Bon ben je me suis débrouillé autrement...
    J'ai ajouté des colonnes à ma table users avec phpmyadmin.
    Puis j'ai créé un formulaire php sql pour remplir ces colonnes en sup.
    Du coup je peux me servir du getUser pour tous les champs de données.
    Si ça peut servir !!!

###raw>template_hook.ano_emploi###