Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 26/09/2006, 08h28   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 8
Points : 3
Points : 3
Par défaut probleme mysql avec les tableaux

Bonjour à tous,

Excusez moi, j’ai un problème d’affichage de tableau,
Je cherche à afficher dans un tableau de 3 lignes et 4 colonnes, les mois et les n° pour chaque année comme ceci :

Janvier Février Mars Avril
N°1 N°3 N°5 N°7
N°2 N°4 N°6 N°8

Mai Juin Juillet Août
N°9 N°11 N°13 N°15
N°10 N°12 N°14 N°16

----

Seulement voilà un petit problème: Les informations se placent toutes sur une même ligne, déformant ainsi le design de la page.

Je voudrai savoir comment faire pour les afficher correctement.

le code:


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
26
27
28
29
30
31
32
33
<?php
 
	IF (isset($_GET['annee'])){
	$an=$_GET['annee'];
	echo "<center> ANNEE ".$an."</center><br><br>"; 
	echo "Choisir un n°: <br><br>";
 
	$req = mysql_query("SELECT DISTINCT id_jo, num_jo, date_jo, type_jo FROM jo where DATE_FORMAT(date_jo,'%Y')='$an' ORDER BY date_jo ASC;"); 
	$res = mysql_num_rows($req);
	$i=0; $mois = ""; $j=0; $lien = "";
 
	echo "<table border=1 ><tr>";
	WHILE ($i < $res){ 
 
		$id = mysql_result($req,$i,"id_jo");
		$num = mysql_result($req,$i,"num_jo");
		$type = mysql_result($req,$i,"type_jo");
		$dat = mysql_result($req,$i,"date_jo");
		list($year, $month, $day) = explode("-", $dat);
		$months = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin",
    	"Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
		$aux = $months[$month-1];
 
		IF ($aux != $mois) { IF ($mois != '') echo "<td valign='top' align='center' width=10% height=1 ><font color='blue'>".$mois."<br><br>".$lien."</font></td>"; $mois = $aux; $lien = ""; $j++;}
 
		$lien .= "\r\n <a href=rechercheannee3.php?n=$id>$type n° $num</a>&nbsp;&nbsp;<br> \r\n"; 
 
		$i++;
 
		} echo "<td valign='top' align='center' width=33% height=1><font color='blue'>".$mois. "<br><br>".$lien."</td></font></tr></table>";
		}
	mysql_close(); 
	?>

Merci d’avance.
bilane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 22h34   #2
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
A mon avis il manque quelques <tr>

C'est cette balise qui fera le saut de ligne dans une présentation sous forme de tableau.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 22h53   #3
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
Oui, Il faut faire un truc du genre:
Code :
1
2
3
4
5
6
7
8
 
<table>
<?
while(...){
echo "<tr><td>..........</td></tr>";
}
?>
</table>
donc mettre les <tr> dans la boucle while.
c'est effectivement cette balise qui te permet de faire 1 saut de ligne.
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 11h57   #4
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
fais plutot comme ca c'est un exemple

listing.php
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
26
27
28
29
30
31
32
 
<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db('test');
$require('fonction_tableau.php');
$sql = "SELECT nom,prenom,age,sexe FROM inscr";
$exec = mysql_query($sql);
while($res = mysql_fetch_object($exec)){
$af=array()
$i=0
$tableau[$i][0]=$res->nom;
$tableau[$i][1]=$res->prenom;
$tableau[$i][2]=$res->age;
$tableau[$i][3]=$res->sexe;
$i++
}
$_SESSION['af']=$af;
<html>
<head></head>
<body>
<TABLE border="1" algin='center'>
<tr><td colspan='4' align='center'>test</td>
<td>Nom</td>
<td>Prenom</td>
<td>Age</td>
<td>Sexe</td>
</tr>
<?php afficher_test($af);
</table>
</body>
</html>
fonction_tableau.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<?php
FUNCTION afficher_test($af){
	$taille = sizeof($af);
	IF ($taille-1 <= 4){$limite = $taille-1;}
	else {$limite = 4;}
	//-----------------------------------
	FOR ($i = 0; $i <= $limite+4; $i++){
		IF  ($af[$i][0] != 0){
		echo "<tr><td colspan='1'>";
		echo $af[$i][0];
		echo "</td><td colspan='1'>";
		echo $af[$i][1];
		echo "</td><td colspan='1'>";
        echo $af[$i][2];
		echo "</td><td colspan='1'>";
		echo $af[$i][3];
		echo "</td></tr>";
}}}
?>
Voila !!!
carmen256 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 22h17.


 
 
 
 
Partenaires

Hébergement Web