Regrouper donnee meme cle tableau php

toto_ns -  
 toto_ns -
Bonjour, je dois récupéré dans une base de donnée des donnée appartenant a des responsables et je voudrais les regrouper chaque donnée avec le responsable correspondant à savoir des que le responsable est "toto" alors le mettre dans id toto si cela appartient a titi alors le mettre dans titi,etc...quelqu'un aurait une idée? car j'avais fais un bout de code mais cela ecrase toujours le client précèdent,voici un exemple :

responsable: toto => "client A"; "client B";"client C";"client D".


responsable: TITI=> "client A"; "client B";"client C";"client D".


A voir également:

4 réponses

reaverlost Messages postés 150 Date d'inscription   Statut Membre Dernière intervention   21
 
Salut,

Montre ce que t'as fais.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Je te suggère un truc de ce genre :
$responsables = array();
while ($donnees = {resultat_requete})
{
    $resp = $donnees['responsable'];
    if (!isset($responsables[$resp]))
        $responsables[$resp] = array();
    $responsables[$resp][] = $donnees['client'];
}

En remplaçant {resultat_requete} par ce qui va bien dans ton code, pour parcourir le résultat de la requête (par exemple, mysql_fetch_array(), 'responsable' et 'client' par les bons noms de champ de ta requête.

Xavier
0
toto_ns
 
je vous remercie pour ces réponse je vous joins le code que j'avais essayé de faire mes sans succès sa écrase toujours la valeur précèdente dans le tableau


//la requete sql qui recupere le nom du client et le responsable du client et id du responsable
$recherche_dossier="SELECT C.nom_cli,C.prenom_cli, U.prenom as prenom_responsable,U.iduser
FROM client C
Join gestion_user U on C.responsable =U.iduser;

//recupere les donnée
$query_dossier = mysql_query($recherche_dossier);

if (mysql_num_rows($query_dossier)> 0){ // si le dossier est retrouvé dans la base
$r1 = mysql_fetch_array($query_dossier);
$responsable=$r1[nom_responsable];
$iduser=$r1[iduser];
$nom_cli=$r1[nom_cli];
$preno=$r1[prenom_cli];
//tableau qui regroupe chaque donnée par responsable
$t_reussi[$iduser][nom_cli]=$nom_cli;
$t_reussi[$iduser][prenom_cli]=$prenom;
$t_reussi[$iduser][responsable]=$responsable;


//affichage par responsable
foreach($t_reussi as $iduser=>$tabvalue){
print " <tr>\n";
print "<td>".$tabvalue[$iduser][nom_cli]."</td>";
print "<td>".$tabvalue[$iduser][prenom_cli]."</td>";
print "<td>".$tabvalue[$iduser][responsable]."</td>";
print " </tr>\n";
}

Et la au niveau de l'affichage je récupére que le dernier résultat de la requête pour un responsable.
0
toto_ns
 
j'ai essayé ta réponse celane fonctionne pas je te donne un exemple avec deux responsables :


nom date-naissance responsable
Eric 1970-08-15 tutu
Eric 1970-08-15 tutu
Patrick 1973-11-28 tata
Laura 1970-08-15 tutu
Pierre 1973-11-28 tata


et le retour je ne reçois que le dernier résultat ajouté au tableau pour le responsable.
0