Retour à la ligne automatique

Ezak
Invité n'ayant pas de compte PHPfrance

24 juin 2010, 09:55

Bonjour,

J'ai une petite question j'espère que vous pourrez m'aider.

J'ai fais un script qui va rechercher des informations dans une BD et les affiche dans un tableau.

Ce sont des données météorologiques transmise par une station.
Je souhait avoir un tableau qui contient tout, ensuite pour les données de chaque jour un nouveau tableau et à l'intérieur d'un tableau d'un jour, 24 tableaux qui contiennent les données de une heure.

Voilà mon script:
<?php
 require('includes/application_top.php');
 //$id = (isset($_REQUEST['id']))?$_REQUEST['id']:'';	 
 ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="<?php echo DIR_WS_STYLES; ?>style_admin.css" type="text/css" media="screen" />
<title>Page d'archives</title>
</head>
<body>
<?php
//Requête pour sélectionner les jours d'archives de la stations voulue
 $result = db_query("SELECT DISTINCT DATE_FORMAT(`data_time`, '%Y-%m-%d') AS jours FROM `data2` LEFT OUTER JOIN sensors ON data2.data_sensor_id = sensors.sensor_id WHERE sensor_station_id = 1001");
 //Pour chaque jour
 while($row = db_fetch_array($result)){
 // On crée le le tableau qui contiendra les données pour un jour
?>
	<table width="1024px">
		<thead>
			<th>Jours: <?php echo $row['jours']; ?></th>
		</thead>
		<tbody>
		<tr>

<?php
		//Requête pour sélectionner les heures correspondantes au jour et à la stations
		$result2 = db_query("SELECT DISTINCT DATE_FORMAT(`data_time`, '%Y-%m-%d') AS jours, DATE_FORMAT(`data_time`, '%H:00') AS heures FROM `data2` LEFT OUTER JOIN sensors ON data2.data_sensor_id = sensors.sensor_id WHERE sensor_station_id = 1001 AND `data_time` LIKE '".$row['jours']."%'");																																																																																																																							
		//Pour chaque heure ...
		while($row2 = db_fetch_array($result2)){
?>		
			<td>
			<table>
				<thead>
					<th><?php echo $row2['heures']; ?></th>
				</thead>
				<tbody>
				<tr>
				<td>
<?php
				//Requête pour sélectionner les messures correspondantes à l'heure, au jour et à la station
				$result3 = db_query("SELECT * FROM `data2` LEFT OUTER JOIN sensors ON data2.data_sensor_id = sensors.sensor_id LEFT OUTER JOIN units ON sensors.sensor_unit_id = units.unit_id WHERE sensor_station_id = 1001 AND `data_time` LIKE '".$row['jours']." ".$row2['heures']."%' ORDER BY sensor_channel");
				//Pour chaque mesure ...
?>					
					<table>				
<?php
					while($row3 = db_fetch_array($result3)){
?>					
						<tr>
							<td><?php echo $row3['sensor_name']; ?></td>
						</tr>
						<tr>
							<td><?php echo $row3['data_value']; ?> <?php echo $row3['unit_unit']; ?></td>

						</tr>
<?php
				}
?>
				</table>
				</td>
				</tr>
				</tbody>
			</table>
			</div>
					</td>
<?php	
		}
?>

		</tr>
		</tbody>
	</table>
	</div>
<?php
 }
?>
</body>
</html>
Le problème: mes tableaux se crée bien comme il faut mais ceux de chaque heure se mettent tous sur une ligne et j'ai un scroll horizontale qui va à perpet.

Qqun aurait une solution pour que mes tableaux se mettent automatiquement à la ligne si il dépassent 1024px de largeur ?

Merci d'avance :lol: et bonne journée

Eléphant du PHP | 422 Messages

24 juin 2010, 10:17

hello

ne pas mettre le <td> dans le while ... peut etre

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Ezaki
Invité n'ayant pas de compte PHPfrance

24 juin 2010, 11:08

hello

ne pas mettre le <td> dans le while ... peut etre

++

Non je ne pense pas que ca résoudra le problèmes :(
ça me donnera juste un paquet de donnée dans la même cellule et j'aurais un problème de mise en page après.

Merci quand même ++

ViPHP
ViPHP | 1996 Messages

24 juin 2010, 21:09

Tu pourrais essayer de faire avec les CSS et la position float: left; mais que avec des paragraphes. Il faudra donc repenser ton affichage. La position float permettrait par exemple à des paragraphes de se mettre côte à côte et de revenir à la ligne.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr