Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/07/2008, 13h07   #1
Invité régulier
 
Inscription : juillet 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 25
Points : 5
Points : 5
Par défaut do while imbriqués avec pointeurs :)

Bonjour tout le monde

Alors voilà, j'ai un pitit blocage mental sur un code censé comparer deux tâbleaux dynamiques (pointeurs) contenant des listes d'amis. Le principe est que grâce à ma bdd, je récupère une liste de clients complète et une liste d'amis. La liste d'amis est sous la forme , avec l'idclient1 l'id du client sélectionné, et idclient2 son ami associé. Pour ce qui est de la liste de client complet c'est un gros dont le premier champ se nome id_client.

liste d'amis: $row_ami //champs: ['idclient1'] et ['idclient2']
liste complète: $row_clia //champs: ['id_client'] ['nom_client'] ['prenom_client'] ...

Donc vous voyez où je veux en venir? Je récupère l'id de la fiche client, j'ai tous les clients, j'ai les id des amis du client sélectionné, et je veux, grace à cet id, afficher leur nom/prénom qui sont contenu dans la grosse tâble.

Voici ce que j'ai tenté mais qui ne marche pas (j'en deviens fou :s):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  do
  {
		do
		{	
 
				if(($row_ami['idclient2'])==($row_clia['id_client']))
				{
					echo $row_clia['Nom_client'];
					echo '<br></br>';
 
				}
		} while ($row_clia = mysql_fetch_assoc($clia));
 
 
  } while ($row_ami = mysql_fetch_assoc($ami));
Avez-vous une idée comment résoudre mon pb? parcque là je suis vraiment perdu :s

Merci ++
PapyFouras est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 13h39   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Je n'ai peut etre pas tout suivi mais je propose :

Code :
1
2
3
4
5
6
7
8
 
$sql = 'SELECT nom,prenom FROM client 
JOIN ami ON id_client=idclient1
WHERE idclient1='. $id_du_client_selectionne';
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo '<p>' . $row['nom'] . ' ' . $row['prenom'] . '</p>';
}
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 13h41   #3
Membre chevronné
 
Avatar de popo
 
Inscription : mars 2005
Messages : 672
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 672
Points : 705
Points : 705
Pourquoi ne pas chercher dans toutes les table consernées en un seul coup.
Une simple jointure en SQL te permettrait de tout récupérer.

Edit : Quelqu'un m'a devancé !
popo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 14h27   #4
Invité régulier
 
Inscription : juillet 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 25
Points : 5
Points : 5
trop fort, vous êtes vraiment trop, j'ai fait les modifs et ça marche nickel

merci bcp, passez une bonne aprem
PapyFouras est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h28.


 
 
 
 
Partenaires

Hébergement Web