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

Datenbank Eintag über schrieben/editieren

Status
Für weitere Antworten geschlossen.

axöööl

Neues Mitglied
Datenbank Eintrag überschreiben/editieren

Hi, ich habe ein gästebuch, was auch ganz gut funktioniert. nun habe ich im admin berreich eine kommentierfunktion eingerichtet, weis jedoch nicht, wie ich den alten eintrag überschrieben soll, bzw. die 2 fleder (kommentar und verfasser) füllen kann^^

hier mal der code
index.php
PHP:
<center><span style="letter-spacing:4px">Gaestebuch kommentieren</span><br><br>
<?php 
$DBHost = "localhost";     // Adresse des mySQL-Server  
$DBUser = "";      // Benutzername
$DBPass = "";    // Passwort
$DBName = ";    // Datenbank

$DBConnect = @mysql_connect($DBHost, $DBUser, $DBPass);
if ($DBConnect != TRUE) {
    echo "Es konnte keine Verbindung mit der Datenbank hergestellt werden! Fehlermeldung: <br><br>".mysql_error();
    die;
}
mysql_select_db($DBName, $DBConnect);
?>

<br>

<?php
$seite = $_GET["seite"]; 

if(!isset($seite))
   {
   $seite = 1;
   }

$eintraege_pro_seite = 15;



$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;



$abfrage = "SELECT * FROM gaestebuch WHERE aktiv = '1' ORDER BY datum DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
    $inhalt = $row->inhalt;
    $inhalt = htmlentities($inhalt);
    $inhalt = nl2br($inhalt);
    $by = $row->by;
    $by = htmlentities($by);
    $by = nl2br($by);
    $com = $row->com;
    $com = htmlentities($com);
    $com = nl2br($com);
    $name = $row->name;
    $name = htmlentities($name);
    $name = nl2br($name);
    $email = $row->email;
    $email = htmlentities($email);
    $email = nl2br($email);
    $id = $row->id;
    $id = htmlentities($id);
    $id = nl2br($id);
    $datum = date("d.m.Y H:i", $row->datum);




    if($row->com == "")
       {
       $kommentar = "";
       }
    else
       {
       $kommentar = "<b><i>$by:</b><br>$com</i>";
       }     

    echo "
   <table align=\"center\" border=\"1\" color=\"#990000\" cellspacing=\"0\" cellpadding=\"5\" bgcolor=\"white\" width=\"600px\">
   <tr bgcolor=\"#ffffff\">
   <td>
   Von <b><font color=\"CC0000\">$name</font></b> am $datum <b><font size=\"+1\"><a href=\"new.php?id=$id&inhalt=$inhalt&by=$by&com=$com&datum=$datum&name=$name&email=$email\">kommentieren</a></font></b>
   </td>
   </tr>
   <tr>
   <td>
   $inhalt<br>   $kommentar  
   </td>
   </tr>
   </table><br>  ";
    
   }

$result = mysql_query("SELECT id FROM gaestebuch WHERE aktiv = '1'");
$menge = mysql_num_rows($result);

$wieviel_seiten = $menge / $eintraege_pro_seite;



echo "<div align=\"center\">";
echo "<b>Seite:</b> ";


for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;


   if($seite == $b)
      {
      echo "  <b>$b</b> ";
      }


   else
      {
      echo "  <a href=\"?class=guestbook&section=main&seite=$b\">$b</a> ";
      }


   }
echo "</div>";
?>
new.php
PHP:
<form action="insert.php" Method="post">
<table border="0">
  <tr>
    <td>Beitrag ID: 
    </td>
    <td><input name="id" readonly value="<?php $id=$_GET['id']; echo "$id";?>" size="30">
    </td>
  </tr>
  <tr>
    <td>Verfasser: 
    </td>
    <td><input name="name" readonly value="<?php $name=$_GET['name']; echo "$name";?>" size="30">
    </td>
  </tr>
  <tr>
    <td>Mail des Verfasser's: 
    </td>
    <td><input name="email" readonly value="<?php $email=$_GET['email']; echo "$email";?>" size="30">
    </td>
  </tr>
  <tr>
    <td>Datum des Eintrags: 
    </td>
    <td><input name="datum" readonly value="<?php $datum=$_GET['datum']; echo "$datum";?>" size="30">
    </td>
  </tr>
  <tr>
    <td>Eintrag:
    </td>
    <td>
    </td>
  </tr>
  <tr>
    <td>
    </td>
    <td><textarea name="inhalt" cols="25" rows="8" wrap="physical"><?php $inhalt=$_GET['inhalt']; echo "$inhalt";?></textarea>
    </td>
  </tr>
  <tr>
    <td>Name des Kommentator's: 
    </td>
    <td><input name="by" value="<?php $by=$_GET['by']; echo "$by";?>" size="30">
    </td>
  </tr>
  <tr>
    <td>Kommentar:
    </td>
    <td>
    </td>
  </tr>
  <tr>
    <td>
    </td>
    <td><textarea name="com" cols="25" rows="15" wrap="physical"><?php $com=$_GET['com']; echo "$com";?></textarea>
    </td>
  </tr>
  <tr>
    <td>
    </td>
    <td><input type="submit" value="Absenden">
    </td>
  </tr>
</table>
</form>
insert.php
PHP:
<?php 
$DBHost = "localhost";     // Adresse des mySQL-Server  
$DBUser = "";      // Benutzername
$DBPass = "";    // Passwort
$DBName = "";    // Datenbank

$DBConnect = @mysql_connect($DBHost, $DBUser, $DBPass);
if ($DBConnect != TRUE) {
    echo "Es konnte keine Verbindung mit der Datenbank hergestellt werden! Fehlermeldung: <br><br>".mysql_error();
    die;
}
mysql_select_db($DBName, $DBConnect);
?>
<?php

$id = $_POST["id"];
$name = $_POST["name"];
$email = $_POST["email"];
$datum = $_POST["datum"];
$inhalt = $_POST["inhalt"];
$by = $_POST["by"];
$com = $_POST["com"];
$aktiv = '1'

$sql = 'DELETE FROM `gaestebuch` WHERE `id` = $id LIMIT 1';
$loeschen = mysql_query($sql);

$eintrag = "INSERT INTO gaestebuch (id, datum, name, email, inhalt, com, by, aktiv) VALUES ('$id', '$datum', '$name', '$email', '$inhalt', '$com', '$by', '$aktiv') WHERE id = '$id'";
$eintragen = mysql_query($eintrag);



if($eintragen == true)
   {
   echo "Beitrag erfolgreich gespeichert. ";
   }
else
   {
   echo "Fehler beim Speichern";
   }

?>
und hier noch die insert.php vom original gb:
PHP:
<center><span style="letter-spacing:4px">Gaestebuch</span><br><br>
<?php 
$DBHost = "localhost";     // Adresse des mySQL-Server  
$DBUser = "wsef";      // Benutzername
$DBPass = "19891989";    // Passwort
$DBName = "wsef";    // Datenbank

$DBConnect = @mysql_connect($DBHost, $DBUser, $DBPass);
if ($DBConnect != TRUE) {
    echo "Es konnte keine Verbindung mit der Datenbank hergestellt werden! Fehlermeldung: <br><br>".mysql_error();
    die;
}
mysql_select_db($DBName, $DBConnect);
?>
<?php


$name = $_POST["name"];
$email = $_POST["email"];
$inhalt = $_POST["inhalt"];

$datum = time();
$aktiv = 1; 

if($name == "" OR $inhalt == "")
    {
   echo "Bitte die Felder \"Name\" und \"Inhalt\" ausfüllen";
   exit; 
   }

$eintrag = "INSERT INTO gaestebuch (datum, name, email, inhalt, aktiv) VALUES ('$datum', '$name', '$email', '$inhalt', '$aktiv')";
$eintragen = mysql_query($eintrag);


if($eintragen == true)
   {
   echo "Beitrag erfolgreich gespeichert. ";
   }
else
   {
   echo "Fehler beim Speichern <a href=\"?class=guestbook&section=new\">Zurück</a>";
   }

?> 
<br>
<br><a href="?class=guestbook">zu den Einträgen</a><br><br>
danke im vorraus.
lg alex
 
Zuletzt bearbeitet:
Also das ist jetzt ziemlich viel Code, ich hab mir das jetzt nicht genau durchgelesen, aber mittels UPDATE kann man Daten n einer DB verändern --> http://tut.php-q.net/mysql-update.html

btw: Du hast in der ersten Datei ganz am Anfang ein Anführungszeichen vergessen, daher wird das ganze nicht korrekt gehghlightet. Das ganze wird aber wieder ausgeglichen, da du an einer Stelle später vergessen hast ein Anführungszeichen zu escapen.
 
PHP:
$sql="UPDATE tabellenname SET spalte='...', anderespalte='....' WHERE ID='...'";
mysql_query($sql);

MFG

Ps: editier bei deinem ersten PHP fehl mal bei datenbank ein " hin ist übersichtlicher wenn der code wenigstens richtig angezeigt wird ^^
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben