Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 18/01/2012, 11h18   #1
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Par défaut fonction array_merge() problème

Bonjour à tous,

Je dois associer 2 tableaux qui sont différents (structure différente, données différentes).

J'ai réussi à les afficher l'un après l'autre: (ça donne ça schématiquement)
Code :
1
2
3
4
<table1>
while{mysql_fetch_array($resultat_requête1)}
echo "";
</table1>
Code :
1
2
3
4
<table2>
while{mysql_fetch_array($resultat_requête2)}
echo "";
</table2>
cependant j'ai découvert après recherche la fonction array_merge() mais je n'arrive pas à l'utiliser ici


dois-je faire un seul while et mettre les données du second tableau dans le 1er while et quand appelé la fonction array_merge() ?

Merci de m'aider
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h29   #2
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
bonjour,
il me semble que tu ne peux pas utiliser directement $resultat_requête1 ....

donc essaye :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$Cpt=0
while($Col=mysql_fetch_array($resultat_requête1)){
$T[$Cpt]=$Col['MaValeur1'];
$Cpt++;
}
 
while($Col=mysql_fetch_array($resultat_requête2)){
$T[$Cpt]=$Col['MaValeur2'];
$Cpt++;
}
Cela va te donner un tableau avec cle 0,1,2....N avec tout les elements de tes requetes ...

si tu dois ecraser les données celon les clés du tableau (cf array_merge) alors tu peux tres bien faire $T[$Col['Id']]=$Col['MaValeur']

Guigo
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h56   #3
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Tout d'abord merci pour la réponse.

Mais j'avoue que je suis un peu (voir beaucoup ) perdu.
Ce qui me complique la tâche c'est que je reprends un code dans lequel l'affichage se fait directement dans les while avec des "échos"...

Voici par exemple mon 2e tableau
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
	<table class="Tabledonnees"> <thead><tr><td>Priorité</td><td>Date</td><td>Expéditeur</td><td>Note</td><td>Destinataire</td></tr></thead><tbody>
 
	<?
	while ($ligne2=mysql_fetch_array($resultset2))
	{	  
     echo "<tr><td>".$ligne["priorite"] ."</td><td>". 
	 datemysql2francais($ligne["datecreer"])."</td><td>". 
	 $ligne["NOM_CON_CLI"] ."</td><td>". 
     stripslashes($ligne["note"])."</td><td>". 
	 stripslashes($ligne["destinataire"])."</td></tr>";
 
	}	 
	?>
	 </tbody></table>
les $T c'est en fait mes $ligne si je suis bien?
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 12h06   #4
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
$T est le tableau de valeur obtenu....
alors pour ca ferait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
 
while($ligne=mysql_fetch_array($resultat_requête1)){
$T[$ligne['IdDeTaTableBdd']]=array($ligne["priorite"],datemysql2francais($ligne["datecreer"]),$ligne["NOM_CON_CLI"],stripslashes($ligne["note"]),stripslashes($ligne["destinataire"]));
}
 
while($Col=mysql_fetch_array($resultat_requête2)){
$T[$ligne['IdDeTaTableBdd']]=array($ligne["priorite"],datemysql2francais($ligne["datecreer"]),$ligne["NOM_CON_CLI"],stripslashes($ligne["note"]),stripslashes($ligne["destinataire"]));
}
 
<table class="Tabledonnees"> <thead><tr><td>Priorité</td><td>Date</td><td>Expéditeur</td><td>Note</td><td>Destinataire</td></tr></thead><tbody>
 
	<?
	foreach($T as $K=>$V)
	{	  
     echo "<tr><td>".$V[0] ."</td><td>". 
	 $V[1]."</td><td>". 
	 $V[2] ."</td><td>". 
        $V[3]."</td><td>". 
	 $V[4]."</td></tr>";
 
	}	 
	?>
	 </tbody></table>

devrais fonctionner ...
Pour info dans ce cas, si il y a un meme id dans la tabale1 et table2 alors tu n'aura qu'une valeur de presente dans $T (valeur de la table2).
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 14h21   #5
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Merci pour ta réponse,

Je vais essayer tout ça, cependant est-il possible de ranger les cellules en fonction de la date?
Merci bien
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 17h50   #6
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
ca doit etre possible :p
http://www.php.net/manual/fr/functio...-multisort.php
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 15h02   #7
Invité régulier
 
Homme
etudiant
Inscription : décembre 2011
Messages : 54
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : décembre 2011
Messages : 54
Points : 6
Points : 6
Merci bien, finalement je vais retoucher à la requête mais j'ai un problème de "collate"
MenphisTimrid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h39.


 
 
 
 
Partenaires

Hébergement Web