Page 1 sur 1

En tete de tableau fixe : Problemes de largeurs

Posté : 30 déc. 2014, 04:54
par Couin
Hello,

J'ai un tableau dont les lignes sont générées par une requète sql.
Je voudrais que la ligne des titres soit fixe et que le contenu puisse être défilant.

Je me suis inspiré de ce code ci http://www.farinspace.com/jquery-scroll ... le-plugin/ mais quand j'adapte à mon besoin, les entetes ne tombent pas en face des colonnes de résultats.

Voici le code que j'ai adapté :
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
  <?php
require_once ("../common/data_connect.php");
  ?>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
	<title>Demo</title>
	<link rel="stylesheet" type="text/css" href="jquery.tablescroll.css"/>

</head>
<body>
<?php     $sql = "SELECT *
			FROM events
			LEFT JOIN users
			ON users.user_id = events.id_user
			LEFT JOIN status
			ON status.status_id = events.id_status
			LEFT JOIN vehic
			ON vehic.vehic_id = events.id_vehic
			LEFT JOIN places
			ON places.place_id = events.id_place
			WHERE prod_date =(SELECT MAX(prod_date) FROM events)
			ORDER BY arrivee_t ASC
			";

			?>
	<table id="thetable" cellspacing="0">
	<thead>
		<tr><td>Etat</td><td>Heure ArrT</td><td>Liaison</td><td>Presta</td>
			<td>Prov.</td><td>Véhic</td><td>Commentaire</td><td>TBEF</td><td>Heure ArrR</td><td>Place</td><td>Mis à dispo</td>
			<td>Immat DCU</td><td>Immat Réel</td><td>Début Dech</td><td>Fin Dech</td><td>% FLR</td><td>% R</td><td>Fin Théo</td><td>Rég</td>
			</tr>
	</thead>
	<tbody>
		<tr class="first">
	  <?php
	  
	    //exécution de la requête:
    $requete = mysql_query( $sql ) ;

$classesTD = array('impaire', 'paire');
$classesTD2 = array('annule');
$nombre = count($classesTD);
$nombre2 = count($classesTD2);
$compteur = 0;
    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    { 
	
	$time_left = ($result->percent_r)*($result->vehic_time)/100;
	$dock = $result->place_cname;
	$now = date("Y-m-d H:i:s");
	$now = strtotime ($now);
	$now2 = $now + $time_left;
	$now2 = date("Y-m-d H:i:s", $now2);
	$planned = $now + $time_left;
	$planned = date("Y-m-d H:i:s", $planned);
	
	$status = $result->status_icon;
	if (($status != '99') && ($status == '0')) {
	if (($result->arrivee_t) <= (date("Y-m-d H:i:s"))) { $status = '80';} 
	}
	if (($status >= '6') && ($status <= '9')) {
	if (($result->tbef) <= ($planned)) { $status = '11';} 
	}	
	


		?>
	
			<tr onclick="window.location.href='modify.php?idEvent=<?php echo($result->id_event);?>'" class="<?php echo $classesTD[ $compteur % $nombre] ?>"> 
			<td colspan="19" align="left"><?php if ($result->percent_r <= '100') { ?>
			<img src="./images/bar<?php echo($result->percent_r);?>.gif" width="<?php echo($result->percent_r);?>%" height="2" border="0">
			<?php } else { ?>
			<img src="./images/bar100.gif" width="0%" height="2" border="0"><?php } ?></td>
			</tr>
			<tr onclick="window.location.href='modify.php?idEvent=<?php echo($result->id_event);?>'" <? if (($result->status_id) == '99') { ?> class="<?php echo $classesTD2[ $compteur % $nombre2] ?>" <?php } else { ?>  class="<?php echo $classesTD[ $compteur % $nombre] ?>" <? } ?>> 
			<td height="36" width="36"><img src="../common/images/status/<?php echo $status;?>.gif" border="0"></td>
			<td><?php echo date('H:i', strtotime ($result->arrivee_t));?></td>
			<td><?php echo($result->liaison);?></td>
			<td><?php echo($result->presta);?></td>
			<td><?php echo($result->come_from);?></td>
			<td><?php echo($result->vehic_name);?></td>
			<td><?php echo($result->comment);?></td>
			<td><?php echo date('H:i', strtotime ($result->tbef));?></td>
			<td><?php if (!empty($result->arrivee_r)) echo date('H:i', strtotime ($result->arrivee_r));?></td>
			<td><?php if ($result->id_vehic == '1') { $dock = preg_replace('`[^[0-9]`' , '' , $dock); } echo $dock;?></td>
			<td><?php if (!empty($result->docking_r)) echo date('H:i', strtotime ($result->docking_r));?></td>
			<td><?php echo($result->dcu_t);?></td>
			<td><?php echo($result->dcu_r);?></td>
			<td><?php if (!empty($result->begin_dech)) echo date('H:i', strtotime ($result->begin_dech));?></td>
			<td><?php if (!empty($result->end_dech)) echo date('H:i', strtotime ($result->end_dech));?></td>
			<td><?php echo($result->percentflr);?></td>
			<td><?php if (($result->percent_r) <= '100' ) { echo($result->percent_r);}?></td>
			<td><?php if (($result->planned_ef) != NULL ) { echo date('H:i', strtotime ($planned));} ?></td>
			
			<td><?php echo $result->user_account;?></td>
			</tr>
			<tr onclick="window.location.href='modify.php?idEvent=<?php echo($result->id_event);?>'" class="<?php echo $classesTD[ $compteur % $nombre] ?>"> 
			<td colspan="19" align="left"><?php if ($result->percent_r <= '100') { ?>
			<img src="./images/bar<?php echo($result->percent_r);?>.gif" width="<?php echo($result->percent_r);?>%" height="2" border="0">
			<?php } else { ?>
			<img src="./images/bar100.gif" width="0%" height="2" border="0"><?php } ?></td>
			</tr>
	<?php 
	$compteur++;
	} ?>

	</tbody>
	</table>
J'ai le même soucis si je mets des th à la palce de td opour la ligne des titres.
En fait, les largeurs des cellules de la ligne des titres ne tiennent pas compte de celles des résultats.

Y-a-t-il une possibiltié de faire une relation afin que ce soit pris en compte ?

M'ci et bonnes fêtes :)
Couin

Re: En tete de tableau fixe : Problemes de largeurs

Posté : 30 déc. 2014, 13:37
par tof73
tu ouvres un <tr> avant la boucle (à enlever), et un autre dans la boucle.

Re: En tete de tableau fixe : Problemes de largeurs

Posté : 31 déc. 2014, 03:02
par Couin
Hello :)

Effectivmenet, il ya un TR en trop, mais malgré le retrait de celui qui est avant la boucle, le problème persite :(