Bestimmte ID mit Submit-Button übergeben

wal

Erfahrenes Mitglied
Hallo,

was für die Trickkiste? :eek:

Aus einer Datenbank lese ich mehrere Datensätze und lasse diese in einer Liste sortiert ausgeben/anzeigen.

Z.B.:

ID -> Vorname -> Nachname -> Wohnort

Zu sehen ist in der Liste:

Max Mustermann Musterhausen
Willi William Bambusheim
etc.

Klickt man nun auf Nachname, wird der Inhalt mittels get in der URL übertragen und ein weitere Datenbankabfrage startet und zeigt dann die Detailseite der Person an - mit allen Daten.

Nun möchte ich aber einen Button hinter dem Ort in der Liste einfügen, damit ich mit POST arbeiten kann. Mittels einer eindeutigen ID (diese ist bereits in der DB vorhanden) soll dann die Datenbankabfrage starten und die Detailseite anzeigen.

Also in etwa so, Liste:
Max Mustermann Musterhausen (Anzeige-Button1)
Willi William Bambusheim (Anzeige-Button2)
etc.

Wie muss ich den Code bauen, das bei klick auf den Anzeige-Button1 es so eingerichtet wird, dass die korrekte ID von MAX auch per POST in der Detailseite abgreifbar ist, damit die DB_Abfrage starten kann?

Das heisst, dass die Detailseite die DB-Abfrage mit der korrekten ID von MAX startet. (P.S. Die ID ist in der DB als Primärschlüssel bereits enthalten)

Kennt oder hat jemand von euch eine Lösung oder einen Lösungvorschlag?

Ich hoffe ich habe mein Problem einigermassen verständlich beschrieben, wenn nicht, meldet euch bitte kurz.

Vielen Dank schon mal vorab für Vorschläge oder Tipps.
 
Ich weiss jetzt nicht genau, ob man pro Formular mehrere Submit-Buttons definieren kann, deshalb würde ich einfach für jeden Namen ein neues Formular erstellen:
PHP:
<form action="details.php" method="post">Vorname Name Wohnort <input type="submit" name="submit" value="ID (Primärschlüssel)" /></form>
 
Original geschrieben von wal
Wie muss ich den Code bauen, das bei klick auf den Anzeige-Button1 es so eingerichtet wird, dass die korrekte ID von MAX auch per POST in der Detailseite abgreifbar ist, damit die DB_Abfrage starten kann?
Warum willst Du unbedingt per POST arbeiten? GET reicht doch auch?

Aber um deine Frage zu beanworten:

Einfach bei jedem Durchlauf des Recordsets ein Formular mit ausgeben. Du musst aber unbedingt drauf achten, dass der Formularname, eindeutig ist (also am besten hängst Du hinter den Namen noch die ID des aktuellen Datensatzes), sonst hast Du später probleme beim Zugriff mit JavaScript. Dann bindest Du den Button ein:

PHP:
echo '<a href="javascript:submitForm('.$id.');"><img src="button.gif" alt="" width="100" height="15" border="0"></a>';
Dann musst Du dir nur noch die JavaScript-Funktion bauen, die als Parameter die ID des Datensatzes erwartet. Dann Formular mittels JavaScript abschicken und fertig.
 
Ja man kann mehrere Submit -Buttons nutzen in einem Formuar. Dabei wird auf den Namen referenziert.

PHP:
<form action="liste.php" method="post">
<h1>Bitte die Auswahl treffen!</h1>
<table>
<tr>
<td><input type="checkbox" value="host" name="select_host"></td>
<td>Host anzeigen</td>
</tr>
<tr><td><input type="submit" name="suchen" value="suchen"></td>
<tr><td><input  type="submit" name="löschen" value="löschen"></td></tr>
</table>

</form>

<?php
if(isset($suchen)) {
/* connect.php enthält die Verbindungsinformationen */

include("connect.php");
include("sql_strings.php");
...
}
if(isset($löschen)) {
/* Dann tue das hier, wenn Button Löschen gedrückt wurde */
 
Hi,

vielen Dank für eure Hilfen, ich werde diesen Ideen mal nachgehen.

Natürlich ist es sicherlich einfacher dies per GET zu machen ... aber wer will schon den einfacheren Weg gehen? :-)

Danke nochmals, habt mir sehr geholfen mit euren Ideen.
 
Zurück