Hallo..
ich habe ein Problem mit flush() und sleep().
Hier ein Script von php.net zu flush();
Diese Script bei mir auch einwandfrei.
Nun habe ich versucht, diese Option in mein Script einzubauen. Das nach jeder while Schleife flush() und sleep() fungiert.
Es kommt aber keine Ausgabe, nur Wartezeit. Woran könnte das liegen, dass das eine geht und meins nicht?
Danke
ich habe ein Problem mit flush() und sleep().
Hier ein Script von php.net zu flush();
PHP:
<?php
for ($i = 0; $i<10; $i++){
echo "<br> Line to show.";
echo str_pad('',4096)."\n";
flush();
sleep(2);
}
echo "Done.";
?>
Diese Script bei mir auch einwandfrei.
Nun habe ich versucht, diese Option in mein Script einzubauen. Das nach jeder while Schleife flush() und sleep() fungiert.
PHP:
<table width="100%" border="0">
<tr align="left">
<td colspan="8"><strong>Auftragsbestätigung wird erzeugt...</strong></td>
</tr>
<tr>
<td colspan="8"> </td>
</tr>
<tr>
<td width="7%"><em><strong>Status</strong></em></td>
<td width="7%" align="center"><em><strong>Datensatz</strong></em></td>
<td width="8%"><em><strong>Kundenummer</strong></em></td>
<td width="10%"><em><strong>Angebotsnummer</strong></em></td>
<td width="6%"><em><strong>Pos-Typ</strong></em></td>
<td width="8%"><em><strong>Pos-Menge</strong></em></td>
<td width="8%"><em><strong>Pos-Einheit</strong></em></td>
<td width="46%"><em><strong>Pos-Text</strong></em></td>
</tr>
<?
include("function.inc.php");
//Daten laden
$sqlkommando_laden = "select * from wws_angebot where angebot_id='$id'";
$sqlanfrage_laden = mysql_query($sqlkommando_laden) or die ("Error: " .mysql_error());
$anzahl_saetze_laden = mysql_num_rows($sqlanfrage_laden);
if($anzahl_saetze_laden != 0) {
while($daten_laden = mysql_fetch_object($sqlanfrage_laden)) {
//Daten in AB eintragen
$sqlkommando_insert = "insert into wws_auftragsb (angebot_id,kunden_id,datum,pos_id,pos_typ,pos_menge,pos_ekpreis,pos_epreis,pos_rabatt,pos_einheit,pos_text,angenommen) values ('$daten_laden->angebot_id','$daten_laden->kunden_id','$daten_laden->datum','$daten_laden->pos_id','$daten_laden->pos_typ','$daten_laden->pos_menge','$daten_laden->pos_ekpreis','$daten_laden->pos_epreis','$daten_laden->pos_rabatt','$daten_laden->pos_einheit','$daten_laden->pos_text','$daten_laden->angenommen')";
$sqlanfrage_insert = mysql_query($sqlkommando_insert) or die ("Error: " .mysql_error());
if($sqlanfrage_insert) {
$pos_text = nl2br($daten_laden->pos_text);
echo"<tr align=\"left\" valign=\"top\">
<td><font color=\"#00CC00\">erfolgreich!</font></td>
<td align=\"center\">$daten_laden->id</td>
<td>$daten_laden->kunden_id</td>
<td>$daten_laden->angebot_id</td>
<td>$daten_laden->pos_typ</td>
<td>$daten_laden->pos_menge</td>
<td>$daten_laden->pos_einheit</td>
<td>$pos_text</td>
</tr>";
$status = "ok";
flush();
sleep(3);
} else {
$pos_text = nl2br($daten_laden->pos_text);
echo"<tr align=\"left\" valign=\"top\">
<td><font color=\"#FF0000\">fehlgeschlagen!</font></td>
<td>$daten_laden->id</td>
<td>$daten_laden->kunden_id</td>
<td>$daten_laden->angebot_id</td>
<td>$daten_laden->pos_typ</td>
<td>$daten_laden->pos_menge</td>
<td>$daten_laden->pos_einheit</td>
<td>$pos_text</td>
</tr>";
$status = "fail";
flush();
sleep(3);
}
}
}
if($status == "ok") {
echo "<meta http-equiv=\"refresh\" content=\"4;URL=index.php?page=auftragsb&subm=6\">";
}
if($status == "fail") {
?>
<script language="JavaScript" type="text/JavaScript">
var frage = confirm("Beim Übernehmen einiger Positionen sind Fehler aufgetreten! Beim Übernehmen dieser Auftragsbestätigung werden diese Positionen nicht mit berücksichtigt.\n\nMöchten Sie die Auftragsbestätigung löschen?");
if(frage == false) {
document.location.href="index.php?page=auftragsb&subm=6";
} else {
document.location.href="index.php?page=auftragsb&action=ab_delete&ab_id=<? echo $id?>&subm=6";
}
</script>
<? } //Fail ?>
</table>
<br><br><b>Sie werden sofort weitergeleitet!</b>
Es kommt aber keine Ausgabe, nur Wartezeit. Woran könnte das liegen, dass das eine geht und meins nicht?
Danke