dynamische seite bricht beim laden ab

thespecialx

Mitglied
Hallo, es geht um Folgenden Code--

hierbei handelt es sich um ein script das erstellte rechnungen in einem bestimmten zeitraum anzeigt. wenn es z.B. 15 Rechungen sind , dann ist alles kein Prob.
Wenn es aber z.B. 30 Rechungen sind, dann bricht die Seite beim Laden ab.
Ich bin strukturiert an den Code gegangen, und habe Quellstück nach Quellstück entfernt um zu sehen ob es am Code liegt.
folgendes habe ich festegestellt: wenn ich die "class" Anweisungen aus den Tabellen weglasse , benutzt er kein CSS, so dass, die Seite auch mit 30 Rechnungen vollkommen generiert wird.
ich habe den key buffer im mysql erhöht, hab die php.ini auch nach möglichen Fehlern durchsucht, aber ich habe immernoch keine Ahnung , was das ist.

Ich kann nur sagen , dass wenn so eine Seite generiert wird, ca. auch 30 DIN-A4 Seiten ausgedruckt werden können, also eine enorm Lange Seite die durch das Script erstellt werden muss.

Danke für euere Hilfe!
PHP:
<?

 require("config.php");
 require("../login.php");
 $datum=date("j.m.Y");

  $resultx  =  mysql_query("select * from wohnbereich where id='$wbid'");
  $rowx = mysql_fetch_array($resultx);
  $wb=$rowx["wberx"];

  $result2  =  mysql_query("select * from rechnung where wb='$wb' and   
  eindeutig='$eindeutig'");
     while($row2 = mysql_fetch_array($result2)) {
     $idn=$row2["id"];
     $name=$row2["name"];
     $bewid=$row2["bewid"];
     $anfang=$row2["anfang"];
      $ende=$row2["ende"];
      $erstellt=$row2["erstellt"];
      $zeit3=date("d.m.Y",$anfang);
      $zeit2=date("d.m.Y",$ende);

  echo"<title></title>";

?>

<html>
<head>
<link rel="stylesheet" type="text/css" media="print, embossed" href="druck.css">
<style type="text/css">
<!--
.Stil2 {font-family: Verdana, Arial, Helvetica, sans-serif}
.Stil5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
.Stil7 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
.Stil11 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; }
.Stil14 {font-size: 10px}
.Stil15 {font-family: Geneva, Arial, Helvetica, sans-serif}
.Stil19 {
	font-size: 14px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.Stil24 {font-size: 9px}
-->
 </style>

<STYLE>
<!--
.pBreak { page-break-after: always ; 
-->
</STYLE>
 </head>
<body>
<center><b></b></center>
<table  border="0" cellspacing="1">
  <tr>
    <th width="265" rowspan="6" align="center" bgcolor="#FFFFFF" scope="col"><p class="Stil2"><img src="logo.jpg" width="268" height="73"><br>
     <span class="Stil14"><strong>xxxxxxx</strong></span><br>
      <span class="Stil5">xxxxx<br>
    xxxx</span></p>     </th>
    <th colspan="2" align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><div align="center"><span class="Stil15"><span class="Stil19">RECHNUNG    </span></span></div></th>
  </tr>
  <tr>
    <th width="89" align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><span class="Stil11">Ausgestellt f&uuml;r: </span></th>
    <th width="232" align="left" valign="middle" bgcolor="#9999FF" scope="col"><span class="Stil15"><span class="Stil19"><? echo $name; ?></span></span></th>
  </tr>
  <tr>
    <th align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><span class="Stil15">Wohnbereich:</span></th>
    <th align="left" valign="middle" bgcolor="#FFFFFF" scope="col"><span class="Stil5"><span class="Stil15"><span class="Stil7"><span class="Stil19"><? echo $wb; ?></span></span></span></span></th>
  </tr>
  <tr>
    <th align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><span class="Stil15"><span class="Stil24">Rechnungs-Nr.:</span></span></th>
    <th align="left" valign="middle" bgcolor="#FFFFFF" scope="col"><span class="Stil5"><span class="Stil15"><span class="Stil7"><span class="Stil2"><? echo $idn;?></span></span></span></span></th>
  </tr>
  <tr>
    <th align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><span class="Stil15"><span class="Stil24">Erstellt von:</span></span></th>
    <th align="left" valign="middle" bgcolor="#FFFFFF" scope="col"><span class="Stil5"><span class="Stil15"><span class="Stil7"><span class="Stil2"><? echo $erstellt;?></span></span></span></span></th>
  </tr>
  <tr>
    <th align="left" valign="middle" bgcolor="#FFFFFF" class="Stil5" scope="col"><span class="Stil15"><span class="Stil24">Zeitraum:</span></span></th>
    <th align="left" valign="middle" bgcolor="#FFFFFF" scope="col"><span class="Stil5"><span class="Stil15"><span class="Stil7"><span class="Stil2"><? echo $zeit3;echo " - ";echo $zeit2;;?></span></span></span></span></th>
  </tr>
  <tr>
    <td align="left" valign="middle" class="Stil11"><div align="center"> </div></td>
    <th align="left" valign="middle" bgcolor="#FFFFFF" scope="col"><span class="Stil5"><strong><strong><? ?></strong></strong></span></th>
  </tr>
  <tr>
    <th colspan="2" align="center" valign="top" bgcolor="#9999FF" class="Stil19" scope="col">INKO-ARTIKEL</th>
  </tr>
  <tr>
      <td colspan="3" align="left"><div align="center"></div></td>
  </tr>
</table>
<p>


<table border="1" width="90%" hight="800" class=stil5>
<tr bgcolor="#D0D0D0">
 <td align="center">Menge</td>
 <td align="center">Produkt</td>
 <td align="center">Bestellt am</td>
 <td align="center">Bestellt von</td>
 <td align="center">Ausgegeben von</td>
 <td align="center">Einzelpreis(EUR)</td>
 <td align="center">Gesamt(EUR)</td>
</tr>

<?


 $result = mysql_query("select SUM(preis) AS sum_aus from bestell where bewid='$bewid' and wb='$wb' and anfang='$anfang'and produkttype='inko' and ende='$ende'");
while($row3 = mysql_fetch_array($result)) {
$sum1=$row3['sum_aus'];
$ges=number_format(($sum1),2);
}

$result20  =  mysql_query("select * from  bewohner where id='$bewid'");
$row20 = mysql_fetch_array($result20);
$inkost=$row20["inkost"];


  $result  =  mysql_query("select * from  bestell where  bewid='$bewid' and wb='$wb' and anfang='$anfang' and produkttype='inko' and ende='$ende'order by zeit ");
    while($row = mysql_fetch_array($result)) {
    $idxx=$row["id"];
     $user=$row["user"];
     $wb=$row["wb"];
     $bestfuer=$row["bestfuer"];
      $anzahl=$row["anzahl"];
    $ausgeg=$row["ausgeg"];
      $zeit1=$row["zeit"];
    $zeitan=date("d.m.Y",$zeit1);
    $produktid=$row["produktid"];
    $produkttype=$row["produkttype"];
    $status=$row["status"];
    $preis1=$row["preis"];
    $ausvon=$row["ausvon"];


     $result40  =  mysql_query( "select * from inko where id='$produktid'");
    $row40=mysql_fetch_array($result40);
   $namepr=$row40["name"];
    $preis=$row[$inkost];

   //$result4  =  mysql_query( "select (".$inkost.") from inko where id='$produktid'");
   //$row=mysql_fetch_array($result4);
   //$preis=$row[$inkost];
   $preisf=number_format(($preis),2);
   $preis1=number_format(($preis1),2);

  echo "<tr><td align=center >$anzahl</td>
   <td align=center >$namepr</td>
   <td align=center >$zeitan</td>
   <td align=center >$user</td>
   <td align=center >$ausvon</td>
   <td align=center >$preisf</td>
   <td align=center >$preis1</td>
   </tr>";

}
?>
<table border="1" width="90%">
<tr bgcolor="#D0D0D0">
 <td align="center" class="Stil7">------------------------- Gesamtpreis:  ------------------------</td>
  <td align="center" class="Stil7"> <? echo $ges; ?> EUR</td>
   <p style="page-break-after:always;"></p>
</tr>
</table>
<table border="0">
<tr>
<td class="Stil7">Produkt-Verbrauch</td>
</tr>
</table>
<table border="1" width="90%" style="border:1px solid #000000;" class=stil5>
<tr bgcolor="#D0D0D0" style="border:1px solid #000000;">
 <td align="center" class="Stil7" >Art.Nr:</td>
  <td align="center" class="Stil7">Produktname</td>
 <td align="center" class="Stil7">P-Inhalt</td>
  <td align="center" class="Stil7">K-Inhalt</td>
  <td align="center" class="Stil7">Gesamt-Verbrauch</td>
</tr>
<?
 $resultx = mysql_query("select produktid,SUM(ausgeg) AS sum_aus1 from bestell where bewid='$bewid' and wb='$wb' and anfang='$anfang' and ende='$ende' and produkttype='inko'GROUP by produktid order by anzahl DESC ");
while ($row3 = mysql_fetch_array($resultx)){
$prid=$row3['produktid'];
$sum1=$row3['sum_aus1'];

        $result5  =  mysql_query( "select * from  inko where id = '$prid' order by name DESC ");
       $row5 = mysql_fetch_array($result5);
        $name2=$row5["name"];
        $inhalt=$row5["inhalt"];
         $kinhalt=$row5["kinhalt"];
        $rest=$sum1%$kinhalt;
        $sum3=$sum1-$rest;
        $karton=$sum3/$kinhalt;
        $sum5=$rest%$inhalt;
         $sum7=$rest-$sum5;
          $pack=$sum7/$inhalt;

          $sum8=$rest-$rest;


echo"
<tr>
   <td align=center>$prid</td>
     <td align=center>$name2</td>
             <td align=center >$inhalt</td>
                <td align=center >$kinhalt</td>
                <td align=center ><strong>$sum1</strong></td>
                </tr>";
}
}
?>
 
Was bedeutet bei dir "bricht beim Laden ab"?
Wenn 15 Datensätze richtig angezeigt werden und 30 nicht mehr, könnte es auch deinem Browser liegen..
 
Ich denke mal das Script überschreitet einfach das Zeitlimit.

8 Queries und die letzte auch noch innerhalb einer Schleife, dass PHP dann schließlich beim Parsen von über 30 Bildschirmseiten an Grenzen stößt wundert mich nicht wirklich ...

Ich würd ja die ganze Abfragelogik noch mal gründlich überdenken.
z.B. $resultx
Code:
select 
bestell.produktid,
SUM(bestell.ausgeg) AS sum_aus1,
inko.* 
from bestell, inko
where 
bestell.produktid=inko.id
and bestell.bewid='$bewid' 
and bestell.wb='$wb' 
and bestell.anfang='$anfang' 
and bestell.ende='$ende' 
and bestell.produkttype='inko'   //dürfte auch überflüssig sein
GROUP by bestell.produktid order by bestell.anzahl DESC
 
Zurück