PHP stopt na 13e loop
Ik ben bezig voor oa onze oscommerce systeem een bulkfacturatiesysteem te maken waarbij we geldige facturen automatisch kunnen laten opstellen en bulksgewijs kunnen laten uitprinten. Dat betekend dus minimaal 50 facturen per keer.
Ik heb een klein testscriptje gemaakt in PHP, waarbij elke keer een nieuw te printen factuur wordt gemaakt. Die worden achterelkaar op een pagina getoond en dan kan de hele pagina in een keer geprint worden.
Voorbeeld zie www.digital-hardware.net/testfile.php
De code hieronder zou in princiepe 100 facturen moeten maken. (Allemaal identiek, de variabelen plaats ik later.) Echter de pagina gaat maximaal door tot 13 en een beetje factuur. Hoe kan ik dit oplossen en zorgen dat alle 100 facturen worden getoond?
De code is:
CODE
<html>
<head>
<title>Factuur</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000"><center>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$i=0;
while ($i < 100)
{
echo '<table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td vAlign=top width=625 height=942><font face=verdana, Helvetica, sans-serif><div align=center><img src=http://www.digital-hardware.net/logogifdef.gif></div><p><font size=3><b>FACTUUR</B></font><p></font><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td vAlign=top width=66% height=><font face=verdana, Helvetica, sans-serif size=2>Aan:<bR><font face=verdana, verdana size=4><b>Ajan Pippo<br>Homolaan 2233<br>8484AB Dombo<br>Netherlands<P>Tel: 0612345678</b><td vAlign=top width=* height=><font face=verdana, Helvetica, sans-serif size=2>Afzender:<bR><font face=verdana, verdana size=2>TRP Digital Hardware<br>Betterwird 6<br>NL-9156AA Bornwird</b></font><tr> <td vAlign=top width=66% height=><font face=verdana, Helvetica, sans-serif size=2><br><br><br><br><br>Factuurdatum: 20-20-2005<br>Factuurnummer:20056<br>Type: BTW NL 19%<br>Totaalbedrag: € 119,00<td vAlign=top width= height=><font face=verdana, Helvetica, sans-serif size=2><br><br><br>TRP Digital Hardware<br>Rabobank: 362239290<br>BTW nr: NL 1063583399B01<br>Kvk nr: 01102491<br>IBAN: NL21RABO0362239290<br>Bic/Swift: RABONL2U<br>Steuer ID: 116/5900/1015<br>Finanzambt Kleve<tr><td vAlign=top colspan=2 height=><br><br><br><table width=625 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0><tr height=13> <td colspan=3><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr height=13><td width=65% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Artikel:</b></font><td width=15% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Stukprijs:</b></font><td width=20% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Totaal:</b></font></table></table><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr vAlign=bottom height=13> <td width=65% height=13><font face=verdana, Helvetica, sans-serif size=2><b>1x Nokia 6310 Nieuw</b></font><td width=15% height=13><font face=verdana, Helvetica, sans-serif size=2><b>€109</b></font><td width=20% height=13><font face=verdana, Helvetica, sans-serif size=2><b>€109</b></font><tr><td colspan=3><hr color=#000000><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Subtotaal:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€109,00</font><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Orderkosten:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€10,00</font><tr><td> <td colspan=2><hr color=#000000><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2><b>Totaal bruto:</b></font><td align=right><font face=verdana, Helvetica, sans-serif size=2><b>€119,00</b></font><tr><td colspan=3 height=22><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>BTW 19%:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€19,00</font><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Netto:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€100,00</font></table><tr> <td colspan=2 colspan=2 height=125><img src=http://www.digital-hardware.net/catalog/includes/languages/dutch/logojen1.gif><tr> <td vAlign=top colspan=2 height=10><tr> <td vAlign=top colspan=2 height=25><font face=verdana, Helvetica, sans-serif size=2>Opmerkingen:</font><table width=500 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td><font face=verdana, Helvetica, sans-serif size=2>Deze factuur is tevens uw garantiebewijs!<br>Kijk ook eens in onze webshop: www.digital-hardware.net </font></table><table></td></tr><tr><td height=20> </table><p> ';
$i++;
}
?>
$i=0;
while ($i < 100)
{
echo '<table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td vAlign=top width=625 height=942><font face=verdana, Helvetica, sans-serif><div align=center><img src=http://www.digital-hardware.net/logogifdef.gif></div><p><font size=3><b>FACTUUR</B></font><p></font><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td vAlign=top width=66% height=><font face=verdana, Helvetica, sans-serif size=2>Aan:<bR><font face=verdana, verdana size=4><b>Ajan Pippo<br>Homolaan 2233<br>8484AB Dombo<br>Netherlands<P>Tel: 0612345678</b><td vAlign=top width=* height=><font face=verdana, Helvetica, sans-serif size=2>Afzender:<bR><font face=verdana, verdana size=2>TRP Digital Hardware<br>Betterwird 6<br>NL-9156AA Bornwird</b></font><tr> <td vAlign=top width=66% height=><font face=verdana, Helvetica, sans-serif size=2><br><br><br><br><br>Factuurdatum: 20-20-2005<br>Factuurnummer:20056<br>Type: BTW NL 19%<br>Totaalbedrag: € 119,00<td vAlign=top width= height=><font face=verdana, Helvetica, sans-serif size=2><br><br><br>TRP Digital Hardware<br>Rabobank: 362239290<br>BTW nr: NL 1063583399B01<br>Kvk nr: 01102491<br>IBAN: NL21RABO0362239290<br>Bic/Swift: RABONL2U<br>Steuer ID: 116/5900/1015<br>Finanzambt Kleve<tr><td vAlign=top colspan=2 height=><br><br><br><table width=625 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0><tr height=13> <td colspan=3><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr height=13><td width=65% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Artikel:</b></font><td width=15% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Stukprijs:</b></font><td width=20% height=13><font face=verdana, Helvetica, sans-serif size=2><b>Totaal:</b></font></table></table><table width=625 border=0 bordercolor=#000000 cellpadding=0 cellspacing=0><tr vAlign=bottom height=13> <td width=65% height=13><font face=verdana, Helvetica, sans-serif size=2><b>1x Nokia 6310 Nieuw</b></font><td width=15% height=13><font face=verdana, Helvetica, sans-serif size=2><b>€109</b></font><td width=20% height=13><font face=verdana, Helvetica, sans-serif size=2><b>€109</b></font><tr><td colspan=3><hr color=#000000><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Subtotaal:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€109,00</font><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Orderkosten:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€10,00</font><tr><td> <td colspan=2><hr color=#000000><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2><b>Totaal bruto:</b></font><td align=right><font face=verdana, Helvetica, sans-serif size=2><b>€119,00</b></font><tr><td colspan=3 height=22><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>BTW 19%:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€19,00</font><tr><td> <td><font face=verdana, Helvetica, sans-serif size=2>Netto:</font><td align=right><font face=verdana, Helvetica, sans-serif size=2>€100,00</font></table><tr> <td colspan=2 colspan=2 height=125><img src=http://www.digital-hardware.net/catalog/includes/languages/dutch/logojen1.gif><tr> <td vAlign=top colspan=2 height=10><tr> <td vAlign=top colspan=2 height=25><font face=verdana, Helvetica, sans-serif size=2>Opmerkingen:</font><table width=500 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0><tr><td><font face=verdana, Helvetica, sans-serif size=2>Deze factuur is tevens uw garantiebewijs!<br>Kijk ook eens in onze webshop: www.digital-hardware.net </font></table><table></td></tr><tr><td height=20> </table><p> ';
$i++;
}
?>
</center>
</body>
</html>
Ik gok op je maximum execution time die te laag staat... Staat meestal op 30 sec, en het heeft wss meer tijd nodig... ;)
En hoe krijg ik die omhoog?
set_time_limit( seconden );
Warning: set_time_limit(): Cannot set time limit in safe mode
safe mode? hoe krijg ik dat eruit?
Door Safemode in de php.ini uit te zeten (maar dat kan niet op een shared account)
Probeer eens een kort loopje:
Code (php)
Ga die nu wel verder dan 13? Dan kan het idd liggen aan de max time. Zoniet dan ligt het probleem zeker ergens anders...
BakenOnline.nl
Gewijzigd op 30/01/2005 15:31:00 door Baken
een loop van dat type heb ik ook geprobeerd, die geet veel langer door maar stopt uiteindelijk ook. Ligt dus aan de max time.
dan moet je van hosting provider veranderen want dat zuigt natuurlijk.. een loopje zoals 1 t/m 100 moet in 0.04 seconden te doen zijn :) al niet sneller..