refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006
-
25 oct. 2005 à 10:50
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006
-
26 oct. 2005 à 12:34
Bonjour à tous,
j'ai deux requetes select liées, et je veux afficher leurs résultats sur deux colonnes dans ma page.
en fait il s'agit d'afficher tous les secteurs d'une table secteur, et pour chaque secteur on affiche tous les sous secteurs à partir d'une table sous secteur,
le pb c'est que j'arrive pas à rectifier mes boucles whiles afin d'avoir le résultat sur de colonne.
voila mon code
<?
$req= mysql_query ("select * from secteur order by id ");
while($res=mysql_fetch_array($req))
{?>"><? echo $res["nomsec"];
?> ,
<? $id=$res['id'];
$sql= mysql_query (\"select * from soussecteur where idsect='$id' order by idsous \");
$nomb=mysql_num_rows($sql);
while($rs = mysql_fetch_array($sql))
{ $idsous = $rs[idsous]; ?>----
"><? echo $rs["nomsous"];
?> ,
<? } } ?>
ça m'affiche chaque enregistrement dans une ligne, ce que je veux c'est d'afficher dans chaque ligne deux colonnes.
J'attend un coup de main de l'un d'entre vous
Merci
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 25 oct. 2005 à 13:15
Oui justement malalam, je croix qu'il faut jouer avec les tr et td, mais ce qui rend ça difficile pour moi c'est que j'affiche mes résultat dans des tr et des td via deux boucles while, je fais pour tous les secteur (while....)resultat,
puis pour leurs sous secteur et dans le meme while je fais un autre (while....)----
resultat
donc ça m'affiche ligne par ligne, mais moi je veux diviser le resultat à chaque fois sur deux td
Si c'est pas encore claire j'explique d'avantage, seulement je veux que vous m'aidez
Merci
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 25 oct. 2005 à 13:58
c'est resultat2 qui doit etre diviser en deux colonnes, qui est à son tour dans une boucle while!
je te remis le code comme ça tu vois mieux le problème
<?
$req= mysql_query ("select * from secteur order by id ");
$num=mysql_num_rows($req);
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 25 oct. 2005 à 14:39
est ce que tu peux m'expliquer ton idée en terme de code, je ne vois pas comment faire, faut il changer au niveau du requete déja ou il me suffit de chercher au niveau affichage, je suis débutante et je ne connais pas très bien tous les astuces.
Merci de m'aider!
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 26 oct. 2005 à 10:36
Merci infiniment monoceros,
mais j'ai le message d'erreur suivant en mettant ton code:
Parse error: parse error, unexpected T_IS_NOT_IDENTICAL in c:\program files\easyphp\www\businesstun\testaffichage.php on line 27
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 26 oct. 2005 à 10:58
<? include("connb.php"); ?>
<?
$tableau = "";
$query = "SELECT * FROM secteur ORDER BY id";
$result = mysql_query($query, $connexion); // $con_id est la ressource renvoyé par mysql_connect() (ok! c'est facultatif -_-)
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006 26 oct. 2005 à 12:04
Merci!
Mais ça m'affiche les secters dans une page de cette façon
secteur1
secteur2
......
puis les sous secteurs dans une autre page de la meme façon que les secteurs, c'est ce que je ne veux pas, je veux ça:
secteur1
soussecteur1 soussecteur2
soussecteur3 soussecteur4
Merci en tous cas!
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 26 oct. 2005 à 12:34
oO normalement c'est justement ce que ça fait :
<?php
$tableau = "";
$query = "SELECT * FROM secteur ORDER BY id";
$result = mysql_query($query,$con_id); //
$con_id est la ressource renvoyé par mysql_connect() (ok! c'est
facultatif -_-)
while($data = mysql_fetch_array($result))
{
$tableau.= "<tr><th colspan="2">".$data["nomsec"]."</th></tr>"; // Affiche une ligne avec le secteur
$subquery = "SELECT * FROM soussecteur WHERE idsect='".$data["id"]."' ORDER BY idsous";
$subresult = mysql_query($subquery,$con_id); // même remarque -__-
$i=0;
while($subdata = mysql_fetch_array($subresult))
// boucle qui affiche deux sous-secteur par ligne
{
$i++; $tableau .($i%2 1) ? "<tr>" : ""; // Vérification du modulo 2 pour savoir si on débute une ligne
$tableau .= "<td align="left">".$subdata["noumsous"]."</td>";
//Je me refuse à mettre la balise font, ma religion me l'interdit. Cellule du tableau avec un sous-secteur $tableau .($i%2 0) ? "</tr>" : ""; // Vérification du modulo 2 pour savoir si on termine une ligne
}
$tableau .= ($i%2 !== 0) ? "<td> </td></tr>" : "" ; //Remplissage du tableau si le nombre de sous-secteur du secteur n'es pas un multiple de deux
}
$tableau = "".$tableau."
"; //ajout des balises
de chaque côté