Mailinglisten-Archive |
Hi Leute.
Es is früh am Morgen und vielleicht bin ich auch einfach zu blind, um den
Fehler zu finden...
Ich habe mir ein kleines Script geschrieben, das als eine Art Buch dient.
In einer Tabelle (id, kapitel, text) sind Daten gespeichert.
Das Script zum Auslesen funktioniert einwandfrei, nur das Script zum
einfügen eines neuen "Kapitels" will nicht so recht laufen.
Der Grundgedanke ist, dass das Script die Anzhal der Kapitel (Rows) in der
Datenbank ermittelt und dem user für das neue Kapitel die Kapitel-Nummer
$Anzahl+1 vorschlägt.
Will der User das Kapitel aber z.B. als neues Kapitel 1 einfügen, so müssen
alle Kapitel "hinter" dem gewünschten Platz einen Platz weiter rücken.
Ich habe versucht, dies mit folgender Schleifen-Kontruktion zu lösen, an
deren Anschluss dann das Einfügen des neuen Kapitels an der gewünschten
Stelle $Kapitelneu durchgeführt wird.
--schnipp--
//Verschieben
if ($kapitelneu < $anzahl+1) {
$i = $anzahl; <----- Zeile 101
while ($i >= $kapitelneu){
$query3 = mysql_query("SELECT id FROM $tabelle WHERE kapitel=$i");
$result = mysql_fetch_array($query3);
$id = ($result[0]);
$j = $i +1;
$verschieben = mysql_query("UPDATE $tabelle SET kapitel='$j' WHERE
id='$id'");
$i--;
}
}
//"Technisches" Einfuegen
$insert = mysql_query("INSERT INTO $tabelle VALUES('', '$kapitelneu',
'$text')");
if(!$insert) {
echo "<b>Interner Fehler beim Einfügen der Datensätze!</b>\n";
exit;
} //Ende if bei Fehler
header('Location: story.php?kapitelzahl=$kapitelneu');
break; <----- Zeile 120
} //Ende Switch
--schnapp--
Rein technisch scheint das ganze auch hervorragend zu funktionieren.. die
Kapitel werden entsprechend verschoben und das neue Kapitel eingefügt.
Das Problem ist aber, dass ich folgende Fehlermeldung auf dem Bildschirm
hatte:
Warning: Cannot add header information - headers already sent by (output
started at c:\work\homepage\story\eintragen.php:101) in
c:\work\homepage\story\eintragen.php on line 120
Ich hab irgendwie den Eindruck, dass sich das Script da selber über den
Haufen gerannt hat oder so...
Muss ich irgendeine Warte-Funktion einbauen, um sowas zu verhindern ?
Danke im Vorraus
Oliver
-----------------------------
www.hypergrip.de
Hypergrip_(at)_gmx.de
Icq: 24317917
php::bar PHP Wiki - Listenarchive