cs_kairel
Messages postés6Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention12 janvier 2006
-
10 janv. 2006 à 12:40
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
10 janv. 2006 à 14:19
Bonjour a tous
Voila je fais 3 requetes sur 3 tables differentes mais de meme structure , je m explique j ai
1 table doc (num_doc, sujet_doc etc....)
1 table inf (num_inf, sujet_inf etc....) et la meme chose pour une table note
J execute la meme requete sur les 3 tables du genre:
$sql_doc=mysql_query("select num_doc from doc where sujet_doc='1' etc.....)
$sql_note=mysql_query("select num_note from note where sujet_note='1' etc.....)
et pareil pour la 3 eme requete
Pour diverse raisons je additionner ces 3 resultats dans un tableau
pour bosser dessus seulement je ny arrive pas , j ai essayer avec
array_merge mais il m indexe mes cles primaires comme des champs.
J ai d autres solutions pour m en sortir(creer une table
temporaire par exemple) mais j aimerais bien comprendre comment faire
pour "fusionner" ces resultats merci d avance de l interet porté a ma
question.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 janv. 2006 à 13:41
Bon... tu peux initialiser un tableau vide AVANT tes requêtes.
$tab = array ();
Ensuite à chaque requête, tu comptes le nombre d'entrées de ton tableau , puis tu stockes tes données :
while ($res ) mysql_fetch_assoc ($requete)) {
$clef = count ($tab);
$tab[$clef]['num'] = $res['num_code'];
$tab[$clef]['sujet'] $res['sujet_code'];
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 janv. 2006 à 13:15
Hello,
tu le veux sous quelle forme, ton tableau...?
Et tu les stockes sous quelle forme (quelle structure de tableau), les résultats de chacune de tes 3 requêtes ?
cs_kairel
Messages postés6Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention12 janvier 2006 10 janv. 2006 à 13:45
Ok merci c est la solution que j utilise actuellement ca m oblige a
passer en revue 2 fois tous mes enregistrements , je voulais essayer de
tout faire avec un seul while(pour toutes mes requetes) mais a priori c
est pas possible
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 janv. 2006 à 13:54
Heu si, mais tu disais que tu faisais 3 requêtes, pas que tu voulais n'en faire qu'une,n lol...le '1' que tu donnes en exemple, cette valeur est commune à tes 3 tables ?
Je veux dire, ce que tu veux c'est :SELECT num_code, num_info, num_machin FROM code, info, machin WHERE sujet_code sujet_info AND sujet_info sujet_machin AND sujet_code = 1
?
cs_kairel
Messages postés6Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention12 janvier 2006 10 janv. 2006 à 14:08
oui c est mon champ primaire en gros.
Si tu veux je veux afficher sur ma page d accueil des news classer par
date , il y a 3 types de news , de la doc , des informations et des
notes de service.Mes trois tables ont la meme structure a savoir
Ce que je veux c est effectivement soit trouver le moyen de faire une
seul requete qui me permet au final de trier par date et d
afficher toutes les news que ce soit des doc ou info , ou alors de
reunir les resultats de mes requetes dans un seul tableau et ensuite de
l afficher.
Pour l instant ma solution est a peu pres celle que tu m as proposé c
est a dire que j enregistre chaque ligne de mes resultat dans un
tableau temporaire et je les tris ensuite ce qui m oblige a afire
autant de while que de requetes ce qui est extremement long.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 janv. 2006 à 14:19
Ben c'est la requête que je te propose. Adapte là.
Si ils ont des clefs communes, suffit qu'elles soient égales, etr tu peux lister la toitalité (sans mettre le 1 si tu veux vraiment tout), sans doublon.