Probleme de facture

Résolu
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 4 oct. 2014 à 20:46
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 4 oct. 2014 à 22:07
Bonjour,
j'ai réalisé une facture pour un client mais je suis confronté a un réel problème.
il se trouve que lorsque les client saisi plusieurs lignes qui doivent apparaitre sur la facture elle ne tient plus sur un seul feuille.
je vois ce que je dois faire mais je sais pas comment m'y prendre en php.
je crois qu'il faut que l'espace vide en bas des lignes affichées doit diminuer en fonction du nombre de lignes saisies. donc peu être qu'il me faut limiter le nombre de ligne sue la facture. je sais pas si je me fait bien comprendre .

exemple si je limite le nombre total de ligne sur la facture a 15. si le nombre de ligne affichée est 10 celui du vide doit être automatiquement 5.

mon code :
<table width="367" border="0">
<tr>
<td>N°</td>
<td>DESIGNATION</td>
<td>QTE</td>
<td>P.U</td>
</tr>
<?php
while ($liste=mysql_fetch_assoc($req)) {
?>
<!-- ici pour afficher les enregistrements -->
<tr>
<td><?php echo $liste["num"]; ?></td>
<td><?php echo $liste["desgn"]; ?></td>
<td><?php echo $liste["qte"]; ?></td>
<td><?php echo $liste["pu"]; ?></td>
</tr>
<?php
}
?>
<!-- ici pour afficher la partie vide -->
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
4 oct. 2014 à 21:21
Salut msi
Je n'ai rien compris à ta question. ..

Tu parles de taille... de feuille...
Mais je ne vois aucun CSS dans ton code pour gerer par exemple la hauteur des tr de ton tableau. ..
0
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
4 oct. 2014 à 21:39
je crois que j'ai eu un début de solution qui peu être va vous permettre de comprendre ce que je veux afin de m'aider à parfaire mon code.
<?php
$n = mysql_num_rows($req);
echo $n;
while ($liste=mysql_fetch_assoc($req)) {
$largeur_ligne = 20;
$larg_espace_vide = 260 - 20*$n;
if($larg_espace_vide <=0){
$msg = 'desolé trop de lignes';
echo '<script>alert(\' '.$msg.' \');</script>';
}
?>
<!-- ici pour afficher les enregistrements -->
<tr style="border: 1px solid black;height:20px ">
<td bgcolor="#FFFFFF" style=";border: 1px solid black;" ><?php echo $liste['articleRef'] ?></td>
<td bgcolor="#FFFFFF" style=";border: 1px solid black;"><?php echo $liste['articleVendu'] ?></td>
<td bgcolor="#FFFFFF" align="center" style=";border: 1px solid black;"><?php echo $liste['articleQuant'] ?></td>
<td bgcolor="#FFFFFF" align="center" style=";border: 1px solid black;"><?php $pu = $liste['articlePU'] * 1000/1075; $pouPU = number_format($pu, 0, ',', ' '); echo $pouPU;?></td>
</tr>
<?php
}
?>
<!-- ici pour afficher la partie vide -->
<tr style="height:<?php echo $larg_espace_vide; ?>px">
<td style="border: 1px solid black;"> </td>
<td style="border: 1px solid black;"> </td>
<td style="border: 1px solid black;"> </td>
<td style="border: 1px solid black;"> </td>
</tr>
</table>
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
4 oct. 2014 à 21:48
0
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
4 oct. 2014 à 22:03
merci pour le lien j'ai lu mais j'ai pas pu en tirer grand chose.
mais ce que jai fais marche bien mais le nombre de ligne a afficher est fixé a 13 or le client peut avoir par exemple 20lignes qui tiendront pas sur la facture. comment je gere cela
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
4 oct. 2014 à 22:07
Il faudrait vraiment que tu expliques
Plus clairement ce que tu veux. ...mais si ton utilisateur à plus de 20 lignes...
il faut que tu ajoutes une page..

0
Rejoignez-nous