Hallo PHP Gurus,
Ich schreibe aktuell ein Backend in dem ich die Beiträge auf meinem Frontend editieren kann.
Das ganze realisiere ich so:
Alle Beiträge sind in der Datenbank gespeichert unter dem Menupunkt und dem entsprechend Textblock.
zB: home_titel (Home für den Menupunkt, Titel für den entsprechenden Part auf der Seite.)
Das Backend lädt die einzelnen Einträge der Datenbank und stellt sie im Backend mit dem betreffenden Titel und einer Textarea zum bearbeiten dar.
Bei der Generierung verwende ich $id die später aufgerufen wird wenn der Speicher Button gedrückt wird.
Mein aktuelles Problem ist dieses:
Ich lade alle Datenbank Einträge nacheinander und vergebe die &id - die Punkte sind mit jquery tabs getrennt.
Wenn ich nun den Über Titel bearbeite, wird ebenfalls der Home Titel geändert, was mich verwundert.
durch testen habe ich gesehen das die IDs nicht fortlaufend generiert werden sondern nur für die aktuelle Anzahl der Beiträge.
Beispiel: Home hat 3 Beiträge - Über ebenfalls 3 Beiträge.
erwartet hatte ich das die IDs so generiert werden: 1-6 leider werden die IDs so generiert: (home 1-3) und (über 1-3).
Das denke ich ist der Fehler?!
könnt ihr mir weiter helfen? CODE:
Ich schreibe aktuell ein Backend in dem ich die Beiträge auf meinem Frontend editieren kann.
Das ganze realisiere ich so:
Alle Beiträge sind in der Datenbank gespeichert unter dem Menupunkt und dem entsprechend Textblock.
zB: home_titel (Home für den Menupunkt, Titel für den entsprechenden Part auf der Seite.)
Das Backend lädt die einzelnen Einträge der Datenbank und stellt sie im Backend mit dem betreffenden Titel und einer Textarea zum bearbeiten dar.
Bei der Generierung verwende ich $id die später aufgerufen wird wenn der Speicher Button gedrückt wird.
Mein aktuelles Problem ist dieses:
Ich lade alle Datenbank Einträge nacheinander und vergebe die &id - die Punkte sind mit jquery tabs getrennt.
Wenn ich nun den Über Titel bearbeite, wird ebenfalls der Home Titel geändert, was mich verwundert.
durch testen habe ich gesehen das die IDs nicht fortlaufend generiert werden sondern nur für die aktuelle Anzahl der Beiträge.
Beispiel: Home hat 3 Beiträge - Über ebenfalls 3 Beiträge.
erwartet hatte ich das die IDs so generiert werden: 1-6 leider werden die IDs so generiert: (home 1-3) und (über 1-3).
Das denke ich ist der Fehler?!
könnt ihr mir weiter helfen? CODE:
PHP-Code:
<div id="tabs-1">
<div class="spacer_30"></div>
<div class="contentBoxHead">Home</div>
<div class="contentBox">
<?php
require_once "db_daten_aktuell.php";
$stmt = $mysqli->prepare("SELECT id, titel, text FROM home");
$stmt->execute();
$stmt->bind_result($id, $titel, $text);
while($stmt->fetch()) {
echo "<div class='generiert'>";
echo "<form method='post' action='home.php'>";
echo "<strong>$titel editieren:</strong> <br />";
echo "<div style='clear:both'></div>";
echo "<br />";
echo "<textarea name='text' rows='10' cols='80'>$text</textarea><br />";
echo "<input type='hidden' name='id' value='$id' />";
echo "<br />";
echo "<div class='speichern'>";
echo "<input type='submit' value='speichern' name='speichern' />";
echo "</div>";
echo "<div class='loeschen'>";
echo "<input type='submit' value='löschen' name='loeschen' />";
echo "</div>";
echo "<br />";
echo "</form>";
echo "<br />";
echo "</div>";
}
?>
<!----neuer artikel button--->
<?php
echo "<div class='generiert'>";
echo "<form method='post' action='home.php'>";
echo "<strong>Neuen Artikel anlegen:</strong> <br />";
echo "<input type='hidden' name='id' value='$id' />";
echo "<input type='submit'value='anlegen' name='anlegen' />";
echo "</form>";
echo "<br />";
echo "</div>";
?>
<!----speichern--->
<?php
require_once "db_daten_aktuell.php";
if (isset($_POST['speichern']))
{
$id = (int)$_POST["id"];
$stmt = $mysqli->prepare("UPDATE home
SET text=? WHERE id=?");
$text = $_POST["text"];
$stmt->bind_param("si", $text, $id);
$stmt->execute();
}
?>
</div>
</div>
<div id="tabs-2">
<div class="spacer_30"></div>
<div class="contentBoxHead">Ueber</div>
<div class="contentBox">
<?php
require_once "db_daten_aktuell.php";
$stmt = $mysqli->prepare("SELECT id, titel, text FROM ueber");
$stmt->execute();
$stmt->bind_result($id, $titel, $text);
while($stmt->fetch()) {
echo "<div class='generiert'>";
echo "<form method='post' action='home.php'>";
echo "<strong>$titel editieren:</strong> <br />";
echo "<div style='clear:both'></div>";
echo "<br />";
echo "<textarea name='text' rows='10' cols='80'>$text</textarea><br />";
echo "<input type='hidden' name='id' value='$id' />";
echo "<input type='submit'value='speichern' name='speichern' />";
echo "</form>";
echo "<br />";
echo "</div>";
}
?>
<!----neuer artikel button--->
<?php
echo "<div class='generiert'>";
echo "<form method='post' action='home.php'>";
echo "<strong>Neuen Artikel anlegen:</strong> <br />";
echo "<input type='hidden' name='id' value='$id' />";
echo "<input type='submit'value='anlegen' name='anlegen' />";
echo "</form>";
echo "<br />";
echo "</div>";
?>
<!----speichern--->
<?php
require_once "db_daten_aktuell.php";
if (isset($_POST['speichern']))
{
$id = (int)$_POST["id"];
$stmt = $mysqli->prepare("UPDATE ueber
SET text=? WHERE id=?");
$text = $_POST["text"];
$stmt->bind_param("si", $text, $id);
$stmt->execute();
}
?>
</div>
</div>
Kommentar