[SQL] problème avec requête sql [Résolu/Fermé]

Signaler
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
-
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
-
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

Messages postés
2419
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
24 juillet 2021
451
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,
Messages postés
24
Date d'inscription
mercredi 26 avril 2017
Statut
Membre
Dernière intervention
25 juillet 2017
5
Merciii beaucoup :D :D