[MYSQL] Auswahl per Dropdown

Silent Hunter

Grünschnabel

Hallo liebe Gemeinde und Programmierer,

als erstes möchte ich Euch mitteilen das ich ein vollkommener Newbie in Sachen MYSQL bin und mich erst seit kurzen damit beschäftige. Ich habe viele Sachen ausprobiert ubnd nachgelesen, aber nun komme ich leider nicht weiter und hoffe das mir jemand helfen kann.
Ich habe folgendes Problem:
Aus meiner erstellten MYSQL DB heraus möchte ich nun, in einem Formular per Dropdown, einen jeweiligen Inhalt auswählen und dann zu der jeweiligen ID springen um sie über ein weiteres Formular zu editieren bzw. zu löschen.

Die Auswahl als solches und den Inhalt im Dropdownmenü anzuzeigen habe ich hinbekommen, allerdings, wenn eine Auswahl getroffen wird, z.B. bei 4 Auswahlmöglichkeiten, springt er nicht zur entsprechenden ID sondern nimmt immer die letzte ID die in der Tabelle eingetragen ist. Um das ganze deutlicher zu machen poste ich mal den Code:

Code:
<?php
include("db.php");

// Datenbank auslesen
@mysql_connect($host, $user, $pass) OR die(mysql_error());
mysql_select_db($db) OR die(mysql_error());
$sql = "SELECT * FROM test_table ORDER BY test_id";
$result = mysql_query($sql) OR die(mysql_error());

while($row = mysql_fetch_object($result))
    {
$id = $row->id;
$get .= '<option>'.$row->test_id.'</option>';
}

?>
<form action="admin_edit.php?id=<? echo $id; ?>" method="post">
<select size="1" name='test_id[]' >
<option selected><? echo $get; ?></option>
<input type="submit" name="send" value="get it">

Ich würde mich freuen wenn mir jemand behilflich sein könnte, das Problem zu lösen bzw. mir etwas Hilfestellung gibt.

Besten Dank im Vorraus

MFG SH
 
Zuletzt bearbeitet von einem Moderator:
Hallo!

Vielleicht liegt es daran:

<option selected><? echo $get; ?></option>

nimm mal das "selected" raus.

Hab's jetzt nur mal überflogen. Demnach müßte im Quelltext Deines Kombifeldes bei jeder Option "selected" stehen.
 
Hi Slizzzer,

danke für Deine Antwort, ich habe nun das "selected" entfernt, aber leider ohne Erfolg.
Wenn ich eine Auswahl über das Dropdownmenü machen will, springt er immernoch, egal ob Auswahl 1,2,3 usw. immer zur ID des letzten Eintrags in der DB. Ich weiß das es funktionieren müsste, da ich so etwas ähnliches schonmal in einem Script gesehen habe, leider lässt es sich aber auf meinem nicht anwenden, daher die Frage ob es evtl. noch weitere Vorschläge gibt.

Besten Dank schonmal.

Greez SH
 
Hi suye,

dieser Code entsteht nachdem ich eine Auswahl getroffen habe und er zur letzten ID springt.

HTML:
<form action="test.php?id=5" method="post">
<select size="1" name=test_id[]' >
<option><option>test1</option><option>test2</option><option>test3</option></option>
<input type="submit" name="send" value="get it">

Ich hoffe das er weiterhelfen kann.

PS.: Auch wenn ich keine Auswahl treffe und auf "get it" klicke, springt er zur letzten ID.
 
Zuletzt bearbeitet:
Fällt dir selber was auf? Die erzeugten option-Tags sind nochmals von einem option-Tag umfasst.
Richtig wäre:
Code:
<select size="1" name=test_id[]'>
  <option>test1</option><option>test2</option><option>test3</option>
</select>
 
Hab nun
Code:
<option><? echo $get; ?></option>
in
Code:
<option value='id'><? echo $get; ?></option>
abgeändert, allerdings weiterhin ohne Erfolg.

Nun die Frage, was mache ich falsch :) ?
Wie gesagt bin vollkommener Newbie auf dem Gebiet :confused:

Im Quelltext erscheint wieder der doppelte "option-Einschluss"
 
Zuletzt bearbeitet:
Also da könnte man wirklich selber drauf kommen ...
Also:
PHP:
<?php
include("db.php");

// Datenbank auslesen
@mysql_connect($host, $user, $pass) OR die(mysql_error());
mysql_select_db($db) OR die(mysql_error());
$sql = "SELECT * FROM test_table ORDER BY test_id";
$result = mysql_query($sql) OR die(mysql_error());

while($row = mysql_fetch_object($result))
    {
$id = $row->id;
$get .= '<option value='.$row->test_id.'>'.$row->test_id.'</option>';
}

?>
<form action="admin_edit.php?id=<? echo $id; ?>" method="post">
<select size="1" name='test_id[]' ><? echo $get; ?></select>
<?
// Wozu hier das ganze in einem option-Tag ausgeben? Alle nötigen option-Tags beinhaltet $get
?>
<input type="submit" name="send" value="get it">
 
Zurück