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

PHP & Base de données Discussion :

Requête sql sélectionner un utilisateur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Par défaut Requête sql sélectionner un utilisateur
    Bonjour,

    Mon problème c'est que dans ce tableau je veux afficher dans la colonne module tout les modules d'un seul utilisateur,


    Nom|||||||||||||||||Mail|||||||||||||Role|||Module
    adminagri agri@gmail.com admin Matiere
    adminagri agri@gmail.com admin Paiement
    adminagri agri@gmail.com admin Parametres
    testagri testagri@gmail.com utilisateur Matiere
    testagri testagri@gmail.com utilisateur Commercial

    c'est a dire comme ca :

    Nom|||||||||||||||||Mail|||||||||||||Role||||Module
    adminagri agri@gmail.com admin Matiere | Paiement |Parametres
    testagri testagri@gmail.com utilisateur Matiere | Commercial


    voila mon code :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    session_start();
    if (!isset($_SESSION['mail'])) {
     header ('Location: index.php');
     exit();
    }
    ?>
     
     
     
    <?php
    $base = mysql_connect ("localhost", "root", "");
    mysql_select_db ("modul", $base);
     
    $reponse = mysql_query('SELECT users.nomusers,users.mail,users.role,usermodule.nomsociete,usermodule.nommodule FROM users
    INNER JOIN usermodule ON users.nomusers = usermodule.nomusers
    where nomsociete= "'.$_SESSION['nomsociete'].'"') or die(mysql_error());
     
    mysql_close(); ?>
     
    <table border="1">
    <caption>utilisateur</caption>
     
                <thead>
                <tr>
                    <th colspan="11"><h3>les données</h3></th>
                </tr>
                <tr>
                    <th>Nom</th>
                    <th>Mail</th>
                    <th>Role</th>
                    <th>Module</th>
                </tr>
                </thead>
    <tbody>
    <?php
    while($donnees = mysql_fetch_array($reponse)) {
    ?>
     
    <tr>
    <td><?php echo $donnees['nomusers'];?></td>
    <td><?php echo $donnees['mail'];?></td>
    <td><?php echo $donnees['role'];?></td>
    <td><?php echo $donnees['nommodule'];?></td>
     
    </tr><?php
    }?>
     
    </tbody></table>
    Merciii d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Essaye ce code.
    Code php : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?phpsession_start();
    if (!isset($_SESSION['mail'])) {
     header ('Location: index.php');
     exit();
    }
    ?>
     
     
     
    <?php
    $base = mysql_connect ("localhost", "root", "");
    mysql_select_db ("modul", $base);
     
    $users = mysql_query('SELECT users.nomusers,users.mail,users.role FROM users
    INNER JOIN usermodule ON users.nomusers = usermodule.nomusers
    where usermodule.nomsociete= "'.$_SESSION['nomsociete'].'"') or die(mysql_error());
     
     
    function usersmodule($nomusers){
    $usermodules = mysql_query('SELECT usermodule.nomsociete,usermodule.nommodule FROM usermodule
    INNER JOIN users ON users.nomusers = usermodule.nomusers
    where usermodule.nomsociete= "'.$_SESSION['nomsociete'].'" AND users.nomusers= "'.$nomusers.'"') or die(mysql_error());
    return $usermodules;
    }
    mysql_close(); ?>
     
    <table border="1">
    <caption>utilisateur</caption>
     
                <thead>
                <tr>
                    <th colspan="11"><h3>les données</h3></th>
                </tr>
                <tr>
                    <th>Nom</th>
                    <th>Mail</th>
                    <th>Role</th>
                    <th>Module</th>
                </tr>
                </thead>
    <tbody>
    <?php
    while($donnees = mysql_fetch_array($users)) {
        $usersmodule = usersmodule($donnees['nomusers']);
    ?>
     
    <tr>
    <td><?php echo $donnees['nomusers'];?></td>
    <td><?php echo $donnees['mail'];?></td>
    <td><?php echo $donnees['role'];?></td>
    <td><?php while($modules = mysql_fetch_array($usersmodule)) {
    echo $modules['nommodule'] .  ' | '; } ?></td>
    }
     
    </tr><?php
    }?>
     
    </tbody></table>
    En passant il faut savoir que pour l'interaction avec la base de données mysql est obselète. Il te faut utilisé mysqli ou PDO

  3. #3
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    n'oubli pas la gestion des erreurs en PHP pour rendre ton code plus fluide.

  4. #4
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Dis moi si ton problème est résolu.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Par défaut
    Mercii beaucoup Nazoide pour le temps accordé et ton aide
    le code m'affiche cet erreur

    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\server2go\htdocs\transinfo\test.php on line 22

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\server2go\htdocs\transinfo\test.php on line 22
    Access denied for user 'ODBC'@'localhost' (using password: NO)

  6. #6
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    C'est une erreur classique avec MySQL retire le mysql_close(); Moi j'utilise PDO.

    ceci te donnera le résultat escompté:
    Code php : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?phpsession_start();
    if (!isset($_SESSION['mail'])) {
     header ('Location: index.php');
     exit();
    }
    ?>
     
     
     
    <?php
    $base = mysql_connect ("localhost", "root", "");
    mysql_select_db ("modul", $base);
     
    $users = mysql_query('SELECT users.nomusers,users.mail,users.role FROM users
    INNER JOIN usermodule ON users.nomusers = usermodule.nomusers
    where usermodule.nomsociete= "'.$_SESSION['nomsociete'].'"') or die(mysql_error());
     
     
    function usersmodule($nomusers){
    $usermodules = mysql_query('SELECT usermodule.nomsociete,usermodule.nommodule FROM usermodule
    INNER JOIN users ON users.nomusers = usermodule.nomusers
    where usermodule.nomsociete= "'.$_SESSION['nomsociete'].'" AND users.nomusers= "'.$nomusers.'"') or die(mysql_error());
    return $usermodules;
    }
    ?>
     
    <table border="1">
    <caption>utilisateur</caption>
     
                <thead>
                <tr>
                    <th colspan="11"><h3>les données</h3></th>
                </tr>
                <tr>
                    <th>Nom</th>
                    <th>Mail</th>
                    <th>Role</th>
                    <th>Module</th>
                </tr>
                </thead>
    <tbody>
    <?php
    while($donnees = mysql_fetch_array($users)) {
        $usersmodule = usersmodule($donnees['nomusers']);
    ?>
     
    <tr>
    <td><?php echo $donnees['nomusers'];?></td>
    <td><?php echo $donnees['mail'];?></td>
    <td><?php echo $donnees['role'];?></td>
    <td><?php while($modules = mysql_fetch_array($usersmodule)) {
    echo $modules['nommodule'] . ' | '; }?></td>
    }
     
    </tr><?php
    }?>
     
    </tbody></table>

    @Luune. est-ce que ça va?

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Par défaut
    Merciiiiiiiiii mille fois, tu m'as sauvé ca marche maintenant

  8. #8
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Il ne faut oublier de faire passer le sujet à résolu.

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

Discussions similaires

  1. [MySQL] Requête SQL, sélectionner la plus récente réponse
    Par Pierrot4433 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 01/07/2015, 15h48
  2. Réponses: 6
    Dernier message: 15/06/2011, 13h43
  3. [AC-2007] Intégrer champ renseigné par utilisateur à une requête SQL
    Par Zaza91280 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/05/2010, 12h18
  4. Réponses: 3
    Dernier message: 18/06/2005, 00h31
  5. [sql] Sélectionner et compter en une requète
    Par genova dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/09/2004, 12h55

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