par
Couin » 30 déc. 2014, 04:54
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
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-scrollable-table-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é :
[php]<!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>[/php]
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