[SQL] problème avec requête sql

Résolu/Fermé
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - Modifié le 22 mai 2017 à 13:23
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - 23 mai 2017 à 14:52
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 :
<?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

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
22 mai 2017 à 17:36
Salut,

Tu devrais pouvoir récupérer le résultat que tu souhaites avec la fonction GROUP_CONCAT.
Exemple :
SELECT users.nomusers, users.mail, users.role, usermodule.nomsociete, GROUP_CONCAT(usermodule.nommodule) AS modules FROM users
INNER JOIN usermodule ON users.nomusers = usermodule.nomusers
WHERE nomsociete = 'NomSoc'
GROUP BY users.nomusers


Plus d'info : https://sql.sh/fonctions/group_concat

Bonne journée,
0
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
23 mai 2017 à 14:52
Merciii beaucoup :D :D
0