Daten aus db editieren

GoldenEye

Erfahrenes Mitglied
hi,

ich baue mir seit geraumer zeit ein kleines cms system, zusammen, nur das Problem ist, dass ich keine Ahnung habe, wie ich daten, die schon in einer mysql datenbank sind, bearbeiten kann.

Um das Problem mal genauer zu sagen: ich weiß einfach nicht, wie ich die bestehenden Daten (die ich per SELECT befehl abrufe) in ein Formular einfügen kann, sodass sie bearbeitbar werden.

gruß
 
das ist doch ganz simple. Du rufst die daten ab, dann und dann gibtst du sie mit hilfe von foreach(); z.B. in einer Table aus. also das sieht dann z.B. wie folgt aus.
HTML:
<input type="text" name="name" value="<?php  echo $name; ?>" />
Verstehst du was ich meine?
Am Ende übergibst du dann halt nur wieder die Daten aus den INPUT´s in eine PHP datei die das ganze verarbeitet und fügst es mit HIlfe von Update in die Datenbank ein.
Hoffe ich konnte dir ein klein wenig weiterhelfen ;)

edit: achja der / am Ende des Inputs ist nur xhtml komform , einfach nicht beachten ;)
 
Das ist nicht schwer...
hier mal eben ein kurzes Bsp.-script.

PHP:
<?php
if(!isset($_POST['sub_post'])){
$row = mysql_fetch_assoc(mysql_query("SELECT * FROM `tabelle` WHERE `id` = 'irgendwas'"));
echo "<textarea name=\"text\">$row[text]</textarea>";
echo "<input type=\"submit\" name=\"sub_post\">";
}
if(isset($_POST['sub_post'])){
mysql_query("UPDATE `tabele` set `text` = '$_POST[text]' WHERE `id` = '$_GET[id]'";
}

?>

Sollte so funktionieren, hab es jetzt nicht überprüft.
 
Das ist nicht schwer...
hier mal eben ein kurzes Bsp.-script.

PHP:
<?php
if(!isset($_POST['sub_post'])){
$row = mysql_fetch_assoc(mysql_query("SELECT * FROM `tabelle` WHERE `id` = 'irgendwas'"));
echo "<textarea name=\"text\">".$row['text']."</textarea>";
echo "<input type=\"submit\" name=\"sub_post\">";
}
if(isset($_POST['sub_post'])){
mysql_query("UPDATE `tabele` set `text` = '$_POST[text]' WHERE `id` = '$_GET[id]'";
}

?>

Sollte so funktionieren, hab es jetzt nicht überprüft.
 
RS9999 hat gesagt.:
Wenn ich bei Google das hier eingebe "MYSQL SELECT PHP Formular bearbeiten"
bekomme ich 111000 Einträge. Hast Du Dir die Mühe noch nicht gemacht?
Aber auch bei tutorials.de gibt es viele solcher Beiträge.

ich glaube du weißt gar nciht, wieviewl stunden ich schon damit verbracht habe dieses Problem zu lösen.

ein paar der bei google eingegebenen suchbegriffe: "Daten aus mysql datenbank auslesen und bearbeiten"
"Mysql Daten bearbeiten"
"mysql UPDATE"

usw.

naja, dank eurem hilfe, weiß ichs ja jetzt. :)

gruß
 
RS9999 hat gesagt.:
Möchtest Du mehr über PHP wissen, informiere Dich auf folgenden Seiten und Arbeite diese auch möglichst durch:

http://php3.de/manual/de/
http://www.selfphp.de/praxisbuch/index.php

Diese Seiten lassen sich auch als "Microsoft-Hilfe-Datei" downloaden, so dass Du nicht immer "Online" gehen musst, wenn Du einmal etwas nachlesen möchtest.

danke dir.
ich komm mit php eigentlich sehr gut zurecht.
das Problem lah halt daran, dass ich die <?php

PHP:
<input type="text" name="name" value="<?php  echo $name; ?>" />

hier vergessen hatte.

ansonsten hilft mir eigentlich php.net weiter.
aber danke für den tipp.

gruß
 
ok, ich gebs zu. ich hab zu große töne gespuckt ;-]

kann mir jemand verraten wieso das nciht funktioniert?

PHP:
<?php
    error_reporting(E_ALL);

    include 'config.php';

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

if(!isset($_POST['sub_post'])){
$row = mysql_fetch_assoc(mysql_query("SELECT data FROM index_text WHERE id = 1"));
echo "<textarea name=\"data\">".$row['data']."</textarea>";
echo "<input type=\"submit\" name=\"sub_post\">";
}
if(isset($_POST['sub_post'])){
mysql_query("UPDATE index_text set data = '$_POST[data]' WHERE id = '$_GET[id]'";
}

?>

zeigt nur ne leere seite an

gruß
 
Hmm ist die GET variable $_GET[id] überhaupt vorhanden?
Ist in der Tabelle `index_text` eine Spalte `id` vorhanden die auf autoincrement steht?
Wenn die ID nicht per Url übergeben wird könntest du es auch so lösen:
PHP:
<?php
    error_reporting(E_ALL);

    include 'config.php';

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

if(!isset($_POST['sub_post'])){
$row = mysql_fetch_assoc(mysql_query("SELECT data, id FROM index_text WHERE id = 1"));
echo "<form method=\"POST\" action=\"$_SERVER[PHP_SELF]\">"; # hmm das muss natürlich auch noch da stehen, sonst weiß er ja gar nicht was er mit den input tun soll
echo "<textarea name=\"data\">".$row['data']."</textarea>";
echo "<input type=\"submit\" name=\"sub_post\">";
echo "<input type=\"hidden\" name=\"id\" value=\"".$row['id']."\">";
echo "</form>";
}
if(isset($_POST['sub_post'])){
mysql_query("UPDATE `index_text` SET `data` = '$_POST[data]' WHERE `id` = '$_POS[id]'");
}

?>
 
Zuletzt bearbeitet:
Zurück