Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Wie editiere ich einzelne Datensätze aus einer Ergebnisliste?

Hallo,

hoffe, dass Ihr mir weiterhelfen könnt.
ich habe meine Datensätze aus der Datenbank zeilenweise ausgegeben.
Nun habe ich am Ende jeder Zeile einen "Editieren"-Link.

1. Wie bekomme ich genau den jeweiligen Datensatz (Primary Key ist die Emailadresse) auf eine Folgeseite , wo ich diesen
editieren kann?
2. Wie bekomme die Werte des aufgerufenen Datesatzes in einem Formular angezeigt?

Hier ist das Ausgabesript meiner Datensätze:

Code:                   In Zwischenablage kopieren (nur IE)
1">

----------------------------------------------------------------------------
Und hier ist mein Formular, worin der jeweilige Datensatz eingelesen und editiert werden soll:

Code:                   In Zwischenablage kopieren (nur IE)
2">

--------------------------------------------------------------------------

Ich krieg das schon seit Wochen nicht hin..
Bin sehr dankbar für Eure Hilfe.

Viele Grüße,

doni
Hier gehts zum Orginal Eintrag "Wie editiere ich einzelne Datensätze aus einer Ergebnisliste?" im Forum

Antworten

z.B.
Code:                   In Zwischenablage kopieren (nur IE)
3">

und
Code:                   In Zwischenablage kopieren (nur IE)
4">

Ich würde dir aber empfehlen in deiner Datenbanktabelle noch ein Feld ID als auto_increment Wert anzulegen und diesen anstatt der E-Mail für die Übergabe nutzen...


2.

Hallo, zunächst einmal solltest du als Primary eine Spalte einfügen die den Namen id trägt, diese ist auto increment (also erhöt um jeden eintrag die ID automatisch.

Dann machst du folgendes:

echo '<td>'; echo '<a href=aendern.php>Editieren</a>';

ändern in

echo '<td>'; echo '<a href=aendern.php?id=$row->id>Editieren</a>';

nun kommt das ganze ins rollen (damit übergibst du der "Bearbeiten" Seite die Id des Eintrags;


Nun die Bearbeiten Seite:

<?
require("mysql.connect.php");

if ($HTTP_POST_VARS[senden]=="Senden") {
$aendern = "UPDATE tab_adress Set vorname='$v_vorname', nachnache='$v_nachname' WHERE id='$id'";
$update = mysql_query($aendern);
}
}

$abfrage = "SELECT * FROM tab_adress where id='$id' ";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$vorname = "$row->vorname";
$nachname = "$row->nachname";
###usw. je nach spaltenbezeichnung halt
}
?>

<form method="post" action="insert.php?id =<? echo "$id"; ?>">
Vorname:<br><input name="v_vorname" value="<? echo "$vorname"; ?>" type="text" size="20

<input type="submit" name="senden" value="Senden">
</form>

Das sollte Dir erstmal weiterhelfen

iSolution


3.

@isolution:
$HTTP_POST_VARS ist nicht mehr ganz aktuell
http://manuals.phpforum.de/php/reserved.variables.php
und
http://manuals.phpforum.de/php/language.types.array.php --> Array do's und don'ts


4.

Und auch wenn du helfen willst / tust, wärs schön wenn du deinen Code formatieren tätest ;)


5.

Hallo,

so ähnlich sollte es dann auch funktionieren, wenn ich einfach einen Datensatz anfügen möchte, sprich ID übergen und anstatt "ändern", sollte ein "hinzugügen" auch möglich sein?

Gruss


6.

nein hinzufügen tust du mit nem INSERT INTO... da gibts ja noch keine ID zum übergeben. Die brauchst du nur wenn du einen bestimmten Datensatz mutieren oder löschen willst...


Hier gehts zum Orginal Eintrag "Wie editiere ich einzelne Datensätze aus einer Ergebnisliste?" im Forum
 
phpforum.de | Impressum