mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mo 07.10.2024 00:50 Benutzername: Passwort: Auto-Login

Thema: [PHP/MySQL] Daten aus der Datenbank in ein Formular laden vom 25.10.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP/MySQL] Daten aus der Datenbank in ein Formular laden
Seite: 1, 2  Weiter
Autor Nachricht
digitally drunken
Threadersteller

Dabei seit: 04.07.2005
Ort: Ulm
Alter: 39
Geschlecht: Männlich
Verfasst Di 25.10.2005 17:24
Titel

[PHP/MySQL] Daten aus der Datenbank in ein Formular laden

Antworten mit Zitat Zum Seitenanfang

Hallo,

Nachdem ich es jetzt dank der Hilfe des Forums hier und einiger Bücher geschafft habe, einen Admin-Bereich zu programmieren, in dem man Daten per HTML-Formular in die MySQL-Datenbank laden kann, scheitere ich nun seit zwei Tagen daran,

- eine Liste aller Daten der Datenbank anzeigen zu lassen, während hinter jedem eintrag "ändern" steht.
- mit einem klick auf ändern soll der ausgewählte eintrag in ein Formular geladen werden, damit man ihn überarbeiten und nochmals abspreichern kann...

wie muss ich da ran gehen? - bei allen tutorials oder hilfestellungen aus büchern habe ich kapituliert... vielleicht ist das aber gar kein so schwerwiegendes problem -

könnt ihr mir sagen, wie ich anfangen muss? * Keine Ahnung... *
die daten und die datenbank sind da, das upload-formular funktioniert, ein formular fürs ändern habe ich auch schon gemacht (oder kann ich das upload-formular verwenden?)

ich wäre sehr dankbar für ideen und lichtblicke *hu hu huu*


Zuletzt bearbeitet von digitally drunken am Di 25.10.2005 17:35, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
gtz

Dabei seit: 15.04.2002
Ort: -
Alter: 49
Geschlecht: Männlich
Verfasst Di 25.10.2005 17:28
Titel

Antworten mit Zitat Zum Seitenanfang

das problem ist in der tat keines, und du scheiterst nur daran, dass du die grundlagen der materie nicht beherrschst. ich kann dir also nur nahelegen, an dem zustand was zu ändern.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Doppelplusgut

Dabei seit: 06.10.2005
Ort: Zimmer 101
Alter: 55
Geschlecht: Männlich
Verfasst Di 25.10.2005 19:39
Titel

Antworten mit Zitat Zum Seitenanfang

Denkanstoß:

Du machst eine Datenbankabfrage aller Datensätze
gibst diese in einer Tabelle aus (wahrscheinlich auszugsweise)
am Ende jeder Zeile steht ein Link wie z. B.
Code:
echo "<a href='aendern.php?id=".$ergebnisdersqlabfrage['id']."'>&Auml;ndern</a>";

Mit diesem Link rufst Du die aendern.php (Bespiel!) auf und übergibst gleichzeitig die ID des zu ändernden Datensatzes
In der aendern.php holst Du die ID mit $_GET['id']; ab und machst dann eine erneute DB-Afrage nur für diesen Datensatz
Daten ins Formular packen, wenn der User auf Speichern-Button klickt, alles mit dieser ID wieder in die DB schreiben, fertig
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
digitally drunken
Threadersteller

Dabei seit: 04.07.2005
Ort: Ulm
Alter: 39
Geschlecht: Männlich
Verfasst Mi 26.10.2005 17:01
Titel

Antworten mit Zitat Zum Seitenanfang

Hey Danke! - das hat mich schon mal um einiges weiter gebracht... Lächel

eine sache ist mir aber noch unklar und die steht mir ganz elementar im weg:

das ergebnis meiner db-abfrage wird in der variablen $ergebnis gespeichert,
also muss der link ja folgendermassen lauten:
Code:
<a href='referenzen_change.php?id=".$ergebnis['id']."'>


leider funktioniert das noch nicht.
ich denke, es könnte daran liegen: um den login-status aufrecht zu erhalten muss bei jedem link folgende variable übergeben werden:

Code:
<?php echo $UIN; ?>

da steht der schlüssel für die aktuelle sitzung drin...

muss der link dann also folgendermassen aussehen?:

Code:
<a href='referenzen_change.php?id=".$ergebnis['id']."<?php echo $UIN; ?>'>


oder habe ich was übersehen... * Keine Ahnung... *

was letztendlich in die adresszeile übergeben wird, ist nämlich nur das:
http://www.suedcom.net/suedcom/referenzen_change.php?id=%22.$ergebnis[

woran könnte das liegen?[/code]


Zuletzt bearbeitet von digitally drunken am Mi 26.10.2005 17:05, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
kaputt

Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 26.10.2005 17:38
Titel

Antworten mit Zitat Zum Seitenanfang

echo "<a href='referenzen_change.php?id=".$ergebnis['id']."&"PHPSESSID=" . $UIN . "'>link</a>";

z.b.

Du solltest dich mal schwer mit Syntax beschäftigen. Alleine schon mit den " und den ' usw...

Aber eigentlich sollte dein "Login-Status" auch ohne Übergabe der Session-ID funzen. Probier mal:

echo "<a href='referenzen_change.php?id=".$ergebnis['id']."'>link</a>";


Zuletzt bearbeitet von kaputt am Mi 26.10.2005 17:39, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
way2hot

Dabei seit: 14.03.2004
Ort: Jüchen-Gierath
Alter: 42
Geschlecht: Männlich
Verfasst Mi 26.10.2005 17:44
Titel

Antworten mit Zitat Zum Seitenanfang

digitally drunken hat geschrieben:
muss der link dann also folgendermassen aussehen?:

Code:
<a href='referenzen_change.php?id=".$ergebnis['id']."<?php echo $UIN; ?>'>


Au weia!

Nee, aber du machst es dir auch unnötig kompliziert. Ich würde dir raten, anstatt ständig die UIN zu übergeben, lieber ein vernünftiges Session-Management einzubauen. Das ist wirklich super easy und nimmt dir ne Menge Fummelei ab. Bevor du also krampfhaft versuchst, diese Editierfunktion reinzubringen, würd ich erstmal den Admin-Bereich an sich durch das Session-Management verfeinern.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Doppelplusgut

Dabei seit: 06.10.2005
Ort: Zimmer 101
Alter: 55
Geschlecht: Männlich
Verfasst Mi 26.10.2005 19:10
Titel

Antworten mit Zitat Zum Seitenanfang

Sehr schönes Tutorial dazu: http://forum.developers-guide.net/thread54.html
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 47
Geschlecht: Männlich
Verfasst Fr 28.10.2005 12:52
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Ich würde dir raten, anstatt ständig die UIN zu übergeben, lieber ein vernünftiges Session-Management einzubauen.

Was soll denn eine UIN sein? Da soll "der schlüssel für die aktuelle sitzung drin" stehen. Ist damit die Session-ID gemeint..? Scheint mir fast so...
Code:
echo "<a href='referenzen_change.php?id=".$ergebnis['id']."&"PHPSESSID=" . $UIN . "'>link</a>";


Also wenn PHP mit --enable-trans-sid übersetzt wurde und richtig konfiguriert ist, dann wird die Session-ID automatisch übergeben. Ansonsten muß man halt selbst dafür sorgen.
session_id() liefert die aktuelle Session-ID (Eventuell gibt es auch die Konstante SID). Auf die Variable $UIN würde ich wohl verzichten...
Naja und dann sollte man die Session-ID nicht einfach generell an jedem link hängen. Nur wenn die SID nicht per Cookie übergeben werden kann, würde ich die an die Links hängen...In den meisten PHP-Installationen/Konfigurationen sollte das aber automatisch gehen...

Ansonsten ist in dem Link da oben noch das & falsch. Das wird einen Fehler geben, wenn man das durch einen Validator jagt. Das muß mit &amp; maskiert werden.



Ist das Grundproblem denn jetzt eigentlich behoben?
Also vorgehen würde ich so:
Zitat:
- eine Liste aller Daten der Datenbank anzeigen zu lassen, während hinter jedem eintrag "ändern" steht.

- mysql_connect ausführen
- daten aus db holen und links bauen
Code:

$sql = "SELECT dein, datenspalten, halt FROM tabelle ORDER BY id ASC";
$res = @mysql_query( $sql ) or die( "Fehler: " . mysql_error() );
while ( $row = mysql_fetch_assoc( $res ) )
{
   echo "<a href=\"edit.php?id=". $row['id'] ."\">". $row['was_auch_immer'] ."</a><br>\n";
}

und dann die edit.php, wo du dein Formular hast und die Daten einlädst.

- erstmal wieder Verbindung zur db
- dann daten auslesen (je nach übergebener ID halt)
Code:
$sql = "SELECT dein, datenspalten, halt FROM tabelle WHERE id = '". mysql_escape_string( $_GET['id'] ) ."'";
$res = @mysql_query( $sql ) or die( "Fehler: " . mysql_error() );
$data = mysql_fetch_assoc( $res );


- dann Formular bauen und die Werte einsetzen:
Code:

<form action="update.php" method="post" name="formularname">
   <fieldset>
      <legend>Was auch immer</legend>
      
      Username:<br>
      <input type="text" name="username" value="<?= $data['username'] ?>"><br>
      
      Email:<br>
      <input type="text" name="email" value="<?= $data['email'] ?>"><br>
      
      <button type="submit">abschicken</button>
   </fieldset>
</form>


Wo ist das Problem jetzt?
Das wäre die Vorgehensweise. Ganz einfach.
Wenn Du irgendwas nicht hinbekommst, dann mußt du dein Problem noch mal genauer beschreiben...
  View user's profile Private Nachricht senden
 
Ähnliche Themen Daten aus mysql Datenbank laden
[PHP/MySQL] Bilder in die Datenbank laden
Fehlersuche MySQL mit PHP-Formular Daten eintragen
[php / mysql] Mysql Daten in php als Link ausgeben
MySQL-Datenbank
Datenbank exportieren (MySQL)
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.