Regrouper donnee meme cle tableau php
toto_ns
-
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".
responsable: toto => "client A"; "client B";"client C";"client D".
responsable: TITI=> "client A"; "client B";"client C";"client D".
A voir également:
- Regrouper donnee meme cle tableau php
- Clé usb non détectée - Guide
- Tableau word - Guide
- Clé windows 8 - Guide
- Tableau ascii - Guide
- Formater clé usb - Guide
4 réponses
Bonjour,
Je te suggère un truc de ce genre :
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
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
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
Et la au niveau de l'affichage je récupére que le dernier résultat de la requête pour un responsable.
//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";
}
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.
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.