• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datensatz ändern

Status
Für weitere Antworten geschlossen.

reinermar

Neues Mitglied
Hallo,

ich habe ein Problem mit dem ändern von Daten diese auf einer Datenbank liegen, sie lassen sich einfach nicht ändern!

Ich hab das nach einem tutorial gemacht, die id_nachrichten soll man eigendlich nicht ändern können.

datenbank daten:
Tabelle: nachrichten
Inhalt: id_nachrichten, ueberschrift, nachricht

Datei 1 (edit1.php)

Code:
<form action = "edit2.php" method = "post">

<?php
   mysql_connect("","root");
   mysql_select_db("test");

   $res = mysql_query("select * from nachrichten");
   $num = mysql_num_rows($res);

   echo "<table border>";

   echo "<tr>"; 
   echo "<td>Auswahl</td> <td>Ueberschrift</td>";
   echo "<td>Nachricht</td></tr>";

   while ($dsatz = mysql_fetch_assoc($res))
   {
      echo "<tr>";
      echo "<td><input type='radio' name='auswahl'";
      echo " value='" . $dsatz["id_nachrichten"] . "'></td>";
      echo "<td>" . $dsatz["ueberschrift"] . "</td>";
      echo "<td>" . $dsatz["nachricht"] . "</td>";
      echo "</tr>";
   }

   echo "</table>";
?>

   <p>
   <input type="submit" value="Datensatz anzeigen">
</form>
Datei 2 (edit2.php)
Code:
<?php
if (isset($_POST["auswahl"]))
{
   mysql_connect("","root");
   mysql_select_db("test");

   $sqlab = "select * from nachrichten where";
   $sqlab .= " id_nachrichten = " . $_POST["auswahl"];
   $res = mysql_query($sqlab);
   $dsatz = mysql_fetch_assoc($res);

   echo "Führen Sie die Änderungen durch,<p>";
   echo "betätigen Sie anschließend den Button<p>";
   
   echo "<form action = 'edit3.php' method = 'post'>";

   echo "<input name='ue' value='" . $dsatz["ueberschrift"]
        . "'> Ueberschrift<p>";
   echo "<input name='na' value='" . $dsatz["nachricht"]
        . "'> Vorname<p>";
   echo "<input name='id' value='" . $_POST["auswahl"]
        . "'> id_nachrichten<p>";
   echo "<input type='hidden' name='oripn' value='"
        . $_POST["auswahl"] . "'>";

   echo "<input type='submit' ";
   echo "value='Änderungen in Datenbank speichern'><p>";
   echo "<input type='reset'>";
   echo "</form>";
}
else
   echo "Es wurde kein Datensatz ausgewählt<p>";
?>

Datei 3 (edit3.php)

Code:
<?php
   mysql_connect("","root");
   mysql_select_db("test");

   $sqlab = "update nachrichten set ueberschrift = '"
      . $_POST["ue"] . "',";
   $sqlab .= " nachricht = '"
      . $_POST["na"] . "',";
   $sqlab .= " id_nachrichten = '"
      . $_POST["id"] . "',";      
   $sqlab .= " where id_nachrichten = "
      . $_POST["oripn"];

   mysql_query($sqlab);

   $num = mysql_affected_rows();
   if ($num>0)
      echo "Der Datensatz wurde geändert<p>";
   else
      echo "Der Datensatz wurde nicht geändert<p>";
?>

schade das keiner weiter weiss!
Aber war mir irgendwie klar!

Edit Beiträge zusammengeführt - bitte keine Doppelposts! (Frank)
 
Zuletzt bearbeitet von einem Moderator:
Noch ein Doppelpost will ich hier nicht nocheinmal sehen.
Nur weil dir innerhalb eines Tages niemand antwortet heißt das nicht, das niemand Ahnung hat, sondern nur das du keine Geduld hast.

Vielleicht hat ja auch nur niemand lust dir zu helfen weil du weder einen auftretenden Fehler gepostet hast (Fehler-Behandlung) noch hast du die fehlerhafte Code stelle rausgesucht. Stattdessen sollen wir das für dich tun? Soweit wird es wahrscheinlich nicht kommen, es sei denn einer der User hat ganz viel langeweile.

BTW.:
Es gibt hier im Forum php tags [noparse]
PHP:
[/noparse]. Die solltest du auch benutzen wenn du php code postest.
 
@Frank da haben Sie recht, es tut mir leid!

Ich habe nun das Problem selber gelöst, war kein denk fehler sondern wie so oft ein schreibfehler! :D naja trotzdem danke, das vieleicht jemand alles durchgelesen hat...

Fehler:

Datei 3 (edit3.php)

PHP:
    ...
   $sqlab = "update nachrichten set ueberschrift = '"
      . $_POST["ue"] . "',";
   $sqlab .= " nachricht = '"
      . $_POST["na"] . "',";
   $sqlab .= " id_nachrichten = '"
      . $_POST["id"] ."',";
   $sqlab .= " where id_nachrichten = "
      . $_POST["oripn"];
    ...


Bei
. $_POST["id"] ."',"; ist ja die aufzählung zuende, also ist dort das Komma falsch! So ein kleiner aber Efektiver Fehler!
 
Da sag ich doch nur wieder "Fehler behanldung"
Hättest du ein mysql_error() benutzt, hättest du gewusst das der Fehler in der Syntax des SQL Statements liegt. Das hätte deine Suche von anfang an stark eingegrenzt
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben