Bonjour à tous, pourriez-vous m'aider s'il vous plaît?
Voici mon problème j'ai plusieurs tableau qui me fond une page qui doit être imprimé, seul problème quand le contenu de la page devient trop important (je récupère les données de ma base) alors certains tableau se superpose. Le code n'ai pas le mien j'ai du reprendre une application
avec window.print(); j'imprime le document mais je voudrais qu'au lieu de se superposer quand le tableau devient trop grand alors il se copie sur une autre page.
Voici le css :
Merci à vous si vous avez besoin de plus d'information n'hésitez pas
Voici mon problème j'ai plusieurs tableau qui me fond une page qui doit être imprimé, seul problème quand le contenu de la page devient trop important (je récupère les données de ma base) alors certains tableau se superpose. Le code n'ai pas le mien j'ai du reprendre une application
<script type="text/javascript">
window.onload = function() {
window.print();
}
</script>
<link href="../../../css/formulaire.css" rel="stylesheet" type="text/css" />
<link href="../../../css/imprime.css" rel="stylesheet" type="text/css" />
<div style="position: absolute; top: 0;width:98%;height:100%;">
<div style="position: absolute; top: 0;width:100%;">
<table class="table">
<tr>
<td rowspan=3 class="td center col_1">
<img alt="" style="width:100px;" src="../../../image/logo.png">
</td>
<td colspan=2 class="td_titre center col_4"><?php echo T_('Commande HP'); ?></td>
<td class="td_g left" ><?php echo T_('Date de création');?></td>
<td class="td center"><?php echo $dm['DATE_DM']; ?></td>
</tr>
<tr>
<td colspan=2 class="td_titre center col_4"><?php echo $dm['LABEL_SITE']; ?></td>
<td class="td_g left"><?php echo T_('N° Projet');?></td>
<td class="td center"><?php echo $dm['NUM_PROJET']; ?></td>
</tr>
<tr>
<td colspan=2 class="td_titre center col_4"><?php echo T_('Transmissions Prototypes'); ?></td>
<td class="td_gg center" colspan=2><?php echo $dm['NUM_AFFAIRE']; ?></td>
</tr>
</table>
<table class="table" style="margin-top:40px;">
<tr>
<td class="td_g left col_1"><?php echo T_('Emetteur'); ?></td>
<td class="td center col_2"><?php echo $dm['PRENOM_PERSONNE'].' '. $dm['NOM_PERSONNE']; ?></td>
<td class="td_g left col_1" style="border-left:3px double black;"><?php echo T_('Pilote'); ?></td>
<td class="td center col_2"><?php echo $prs['PRENOM_PERSONNE'].' '. $prs['NOM_PERSONNE']; ?></td>
</tr>
</table>
<table class="table" style="margin-top:10px;">
<tr>
<td class="td_g left col_1" style="width:250px;"><?php echo T_('Client'); ?></td>
<td class="td center col_2"><?php echo $dm['LABEL_CLIENT'];?></td>
<td colspan=2 class="td_g left col_3" style="border-left:3px double black;"><?php echo T_('Date prévisionnelles de');?>:</td>
</tr>
<tr>
<td class="td_g left col_1" ><?php echo T_('Résumé');?></td>
<td class="td center col_2"><?php echo $dm['RESUME_DM'];?></td>
<td class="td_g left col_1" style="border-left:3px double black;">-<?php echo T_('Démarrage en série');?></td>
<td class="td center col_2"><?php echo $dm['DATE_PREV_SERIE'];?></td>
</tr>
<tr>
<td class="td_g left"><?php echo 'Application véhicule';?></td>
<td class="td center"><?php echo $dm['APPLICATION_DM'];?></td>
<td class="td_g left" style="border-left:3px double black;"><?php echo T_('Echantillons initiaux'); ?></td>
<td class="td center"><?php echo $dm['DATE_ECHANTILLION_INI'];?></td>
</tr>
</table>
<table class="table" style="margin-top:10px;">
<tr>
<td class="td_g left col_3"><?php echo T_("Mode d'utilisation"); ?> :</td>
<td class="td_g left col_3" style="border-left:3px double black;"><?php echo T_("Autre mode d'utilisation"); ?> :</td>
</tr>
<tr>
<td class="td left col_3">
<?php
while($util = oci_fetch_assoc($sta_util)){
echo '- '. $util['LABEL_MODE_UTIL'].'<br>';
}?>
</td>
<td class="td left col_3" style="border-left:3px double black;">
<?php echo $dm['AUTRE_MOD_UTIL_DM'];?>
</td>
</tr>
</table>
<table class="table" style="margin-top:40px;">
<tr>
<th class="th_tab center" colspan="2" rowspan="2"><?php echo T_('Produit'); ?></th>
<th class="th_tab center" colspan="3"><?php echo T_('Référence'); ?></th>
<th class="th_tab center" rowspan="2"><?php echo T_('Désignation'); ?></th>
<th class="th_tab center" rowspan="2"><?php echo T_('Qté'); ?></th>
<th class="th_tab center" colspan="2"><?php echo T_('Prix de vente'); ?><br />(<?php echo T_('Hors Taxe'); ?>)</th>
<th class="th_tab center" rowspan="2"><?php echo T_('Délai'); ?></th>
<th class="th_tab center" rowspan="2"><?php echo T_('Commentaires'); ?></th>
</tr>
<tr >
<th class="th_tab center" ><?php echo T_('Client'); ?></th>
<th class="th_tab center"><?php echo T_(""); ?></th>
<th class="th_tab center"><?php echo T_("Ind"); ?></th>
<th class="th_tab center"><?php echo T_('Piéce'); ?></th>
<th class="th_tab center"><?php echo T_('Total'); ?></th>
</tr>
<?php
$total = 0; // Valeur total du besoin
$flag_couleur = 0;
if (isset($tableau)) {
foreach($tableau as $key => $val) {
foreach( $val as $key2 => $val2) {
$type_produit = $val2 -> getType_produit();
if($type_produit != null){
$requete1 = "SELECT LABEL_TYPE_PRODUIT,PRIMAIRE_TYPE_PRODUIT
FROM POP_TYPE_PRODUIT
WHERE ID_TYPE_PRODUIT =".$type_produit;
$statement1 = oci_parse($conn, $requete1);
oci_execute($statement1,OCI_COMMIT_ON_SUCCESS);
$list_type_produit = oci_fetch_assoc($statement1);
}
$prix = $val2 -> getPrix_u();
$qte = $val2 -> getQte();
if($prix != null && $qte != null && is_numeric($prix)){
$valeur = $prix * $qte;
$valeur_formate = number_format($valeur,2);
$valeur_euro = $valeur_formate."€";
}
if($prix == null || $qte == null || !is_numeric($prix)){
$valeur_euro = '';
}
if($prix == null || !is_numeric($prix)) {
$prix_euro = '';
}
else {
$prix = number_format($prix,2);
$prix_euro = $prix."€";
}
if($qte == null){
$qte = '';
}
?>
<tr>
<td class="td_tab center"><?php if($type_produit != null){echo $list_type_produit['LABEL_TYPE_PRODUIT'];}?></td>
<td class="td_tab center"><?php
if($val2 -> getType_activite() != null){
$req_activite = "SELECT DIMINUTIF_TYPE_ACTIVITE
FROM POP_TYPE_ACTIVITE
WHERE ID_TYPE_ACTIVITE = ".$val2 -> getType_activite();
$sta_activite = oci_parse($conn, $req_activite);
oci_execute($sta_activite,OCI_COMMIT_ON_SUCCESS);
$mon_activite = oci_fetch_assoc($sta_activite);
echo $mon_activite['DIMINUTIF_TYPE_ACTIVITE'];
}?>
</td>
<td class="td_tab center"><?php echo $val2 -> getRef_client();?></td>
<td class="td_tab center"><?php echo $val2 -> getRef_();?></td>
<td class="td_tab center"><?php echo $val2 -> getInd();?></td>
<td class="td_tab center"><?php echo $val2 -> getQte();?></td>
<td class="td_tab center"><?php echo $prix_euro;?></td>
<td class="td_tab center"><?php echo $valeur_euro;?></td>
<td class="td_tab center">
<?php
if($val2 -> getDelai_c() != null)
echo $val2 -> getDelai_c();
else {
if($val2 -> getDelai_s() != null)
echo "S - ".$val2 -> getDelai_s();
}
?>
</td>
<td class="td_tab center" style="min-width:140px;max-width:200px;word-wrap: break-word;"><?php echo nl2br($val2 -> getCommentaire());?></td>
</tr>
<?php
if($valeur_euro != '' && $key2 == 0){
$total = $total + $valeur;
}
$flag_couleur++;
}
}
}?>
</table>
<table class="table" style="margin-top:10px;">
<tr>
<td class="td center"><?php echo T_('Valeur total de la commande'); ?> : <?php echo number_format($total,2).' €';?></td>
</tr>
</table>
</div>
<div style="position: absolute; bottom: 0;width:100%;">
<table class="table" style="margin-top:10px;">
<tr>
<td class="td_g left col_3"><?php echo T_('Contrôle');?> :</td>
<td class="td_g left col_3" style="border-left:3px double black;"><?php echo T_('Contrôle spécifique');?>:</td>
</tr>
<tr>
<td class="td left col_3">
<?php
while($ctr = oci_fetch_assoc($sta_ctr)){
echo '- '.$ctr['LABEL_CONTROLE'].'<br>';
}?>
</td>
<td class="td left col_3" style="border-left:3px double black;"><?php echo $dm['CONTROLE_SPE_DM'];?></td>
</tr>
</table>
<table class="table" style="margin-top:10px;">
<tr>
<td class="td_g left col_3"><?php echo T_('Spéc. Marquage/Conditionnement');?> :</td>
<td class="td_g left col_3" style="border-left:3px double black;"><?php echo T_('Commentaire Identification'); ?> :</td>
</tr>
<tr>
<td class="td left col_3">
<?php
if($dm['STANDARD_PROTO_DM'] == 1) {
echo T_('- Standard Proto (N°HP + N°Pièce)').'<br>';
}
if($dm['STANDARD_PROTO_SPE_DM'] != null){
echo T_("- Standard Proto + "). $dm['STANDARD_PROTO_SPE_DM']."<br>";
}
if($dm['SPE_MARQUAGE_DM'] != null){
echo $dm['SPE_MARQUAGE_DM'];
}
if($dm['MARQUAGE_SERIE_DM'] == 1){
echo T_('- Laisser le marquage série').'<br>';
}
if($dm['EFFACE_MARQUAGE_SERIE_DM'] == 1){
echo T_('- Effacer le marquage série').'<br>';
}
if($dm['AUCUN_MARQUAGE_DM'] == 1){
echo T_("- Aucun marquage")."<br>";
}
?>
</td>
<td class="td left col_3" style="border-left:3px double black;"><?php echo $dm['IDENTIFICATION_MARQUAGE_DM'];?></td>
</tr>
</table>
<table class="table" style="margin-top:10px;">
<tr>
<th class="td_g" style="width:60px;" ><?php echo T_('Indice'); ?></th>
<th class="td_g" style="width:80px;" ><?php echo T_('Date'); ?></th>
<th class="td_g" ><?php echo T_('Par'); ?></th>
<th class="td_g" style="text-align:left;border-left:3px double black;width:50%;"><?php echo T_('Objet modification'); ?></th>
</tr>
<?php
$o = 0;
$i = $suivi_nb['NB'];
$flag_couleur = 0;
while($suivi_hp = oci_fetch_assoc($sta_suivi_hp)){
if($o < 3){?>
<tr>
<td class='td center' ><?php echo $i;?></td>
<td class='td center' ><?php echo $suivi_hp['DATE_SUIVI_DM'];?></td>
<td class='td center' ><?php echo $suivi_hp['PRENOM_PERSONNE']." ".$suivi_hp['NOM_PERSONNE'];?></td>
<td class='td left' style="border-left:3px double black;"><?php echo $suivi_hp['COMMENTAIRE_SUIVI_DM'];?></td>
</tr><?php
}
$flag_couleur++;
$i--;
$o++;
}?>
</table>
</div>
</div>
<?php
if($dm['DETAIL_BESOIN_DM'] != null || $dm['DETAIL_BESOIN_DM'] != ""){?>
<div style="position: absolute; top: 100%;width:98%;">
<table class="table">
<tr><td class='td_g center' ><?php echo T_('Détails du besoin'); ?></td></tr>
<tr><td class='td left' ><?php echo nl2br($dm['DETAIL_BESOIN_DM']);?></td></tr>
</table>
</div><?php
}?>
avec window.print(); j'imprime le document mais je voudrais qu'au lieu de se superposer quand le tableau devient trop grand alors il se copie sur une autre page.
Voici le css :
.table{
float:left;
width:100%;
border-collapse:collapse;
line-height: normal;
vertical-align: middle;
border: 1px solid black;
font-family:Arial, Helvetica, sans-serif;
}
.td{
font-size:9pt;
border: 1px solid black;
padding:2px 4px;
color:black;
}
.td_etq{
font-size:20pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_2{
font-size:16pt;
padding:2px 4px;
color:black;
border-left: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
font-weight: bold;
}
.td_etq_3{
font-size:10pt;
padding:2px 4px;
color:black;
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
font-weight: bold;
}
.td_etq_4{
font-size:10pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_5{
font-size:14pt;
padding:2px 4px;
color:black;
border-left: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
font-weight: bold;
}
.td_etq_6{
font-size:14pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_7{
font-size:38pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_9{
font-size:34pt;
border-left: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_8{
font-size:34pt;
border-left: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_etq_10{
font-size:14pt;
padding:2px 4px;
color:black;
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
font-weight: bold;
}
.td_g{
font-size:9pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_no_b{
font-size:9pt;
padding:2px 4px;
color:black;
}
.td_titre_1{
font-size:9pt;
padding:2px 4px;
color:black;
}
.td_gg{
font-size:12pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.col_1{
width:20%;
}
.col_2{
width:30%;
}
.col_3{
width:50%;
}
.col_4{
width:50%;
}
.th_tab{
font-size:7pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_tab{
font-size:7pt;
border: 1px solid black;
padding:2px 4px;
color:black;
}
.td_titre{
font-size:11pt;
border-left: 3px double black;
border-right: 3px double black;
padding:2px 4px;
color:black;
}
.td_titre_bl{
font-size:13pt;
padding:2px 4px;
color:black;
font-weight: bold;
}
.center {
text-align:center;
}
.left {
text-align:left;
}
.right {
text-align:right;
}
th{
font-size:9pt;
font-weight:normal;
border: 1px solid black;
padding:6px 5px;
}
.td2{
font-size:9pt;
text-align:center;
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
padding:4px 4px;
color:black;
}
.table_no_b{
float:left;
width:100%;
border-collapse:collapse;
line-height: normal;
vertical-align: middle;
font-family:Arial, Helvetica, sans-serif;
}
.td_tab_al{
font-size:9pt;
padding:2px 4px;
border: 1px solid black;
color:black;
max-width:200px;
}
.td_no_b{
font-size:9pt;
padding:2px 4px;
color:black;
}
.td_no_blr{
font-size:9pt;
padding:2px 4px;
border-left: 1px solid black;
border-right: 1px solid black;
color:black;
}
.td_no_blr_p{
height:20px;
font-size:9pt;
padding:2px 4px;
border-left: 1px dashed black;
border-right: 1px dashed black;
color:black;
}
.td_no_blrb{
font-size:9pt;
padding:2px 4px;
border-left: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
color:black;
}
.td_no_blrt{
font-size:9pt;
padding:2px 4px;
border-left: 1px solid black;
border-right: 1px solid black;
border-top: 1px solid black;
color:black;
font-weight: bold;
}
.td_no_btb{
font-size:9pt;
padding:2px 4px;
color:black;
}
.td_titre_2{
font-size:10pt;
border: 1px solid black;
padding:2px 4px;
color:black;
font-weight: bold;
}
.td_lrb_d{
height:20px;
font-size:9pt;
padding:2px 4px;
border-left: 1px dashed black;
border-right: 1px dashed black;
border-bottom: 1px dashed black;
color:black;
}
.td_titre_d{
height:20px;
font-size:10pt;
border: 1px dashed black;
padding:2px 4px;
color:black;
}
Merci à vous si vous avez besoin de plus d'information n'hésitez pas