Moin!
danke für deine antwort, ausprobiert, geht auch nicht.
Entsprich dein geposteter Code dem, was du geändert hast?
ausserdem dürfte ich nicht ganz klar rübergebracht haben, wo das problem liegt:
Das kann natürlich sein.
es geht mir um das php-skript, nicht um das onload-skript, ich wollte dort bloss ein tag setzen, um eben auf das fertig ausgeführte php-skript zu warten! (wobei die frage ist, ob onload das überhaupt kann, das startet ja wohl eben schon beim laden, nicht erst nach dem fertigladen, fürchte ich)
Mein erstes Posting gilt nach wie vor: Warte auf das Laden nicht mit einer while-Schleife! Lass den Browser feststellen, dass die Seite fertig geladen wurde - mit onload.
BTW: Grundlagenwissen: onload feuert dann, wenn die Seite komplett inkl. aller enthaltenen Bilder, CSS, Javascripte etc. geladen wurde, nicht vorher! Ist also genau das, was du brauchst. Dir fehlt nur noch etwas Idee, um rauszufinden, wie du (ich würde es so nennen:) asynchron eine Schleife hochzählst.
es soll v.a. das php skript in der schleife ausgeführt werden, und das bei jedem schleifendurchlauf. da das php-skript seine aufgaben aber offenbar nicht schnell genug erledigt, bevor es schon wieder - mit anderen parametern (hier einfach ?nr=i) - aufgerufen wird, müsste javascript bis zum fertigstellen warten können.
Im Prinzip gehts dir doch nur darum, in die Datenbank Zahlen von Null bis zu einem Wert reinzuschreiben. Deshalb zuerst die Frage: Geht das nicht einfacher _nur_ mit PHP? Indem du (wenn der Wertebereich sich nur per Javascript ermitteln läßt) einfach _zwei_ Parameter mit Startwert und Zielwert an PHP übergibst und PHP mal eben schnell die Datenbank befüllt? Das spart dir nämlich superviel Ausführungszeit ein, weil folgende zeitaufwendige Dinge nur _einmal_ passieren müssen:
- Anfordern einer Seite vom Server
- Laden des PHP-Interpreters
- Aufbau einer Verbindung zur Datenbank
- Ausgabe der Ergebnisseite
Stattdessen einfach start und ziel übergeben (wie du die Werte in die URL kriegst, dürfte klar sein:
$db=mysql_connect(...);
mysql_select_db(..., $db);
// Statt in Javascript hier die Schleife in PHP:
for ($i=$_GET['start'];$i<=$_GET['ziel'];$i++)
{
$res=mysql_query('INSERT INTO ... (nr) VALUES ("' . $i . '")');
}
Solltest du deinen Code so vereinfacht haben, dass du innerhalb von Javascript zunächt feststellst, ob überhaupt der Wert in die Datenbank eingetragen werden soll, dann ist es ebenfalls ratsam, diesen Vorgang zuerst in Javascript vollständig abzuschließen und die Ergebnisse dann auf _einmal_ in der URL verpackt an PHP zu schicken.
- Sven Rautenberg
Diese Signatur gilt nur am Freitag.