dropdownmenü automatisch selectieren

Sassar

Grünschnabel
Hi Leute,
ist es möglich das wenn ich ein Dropdownmenü erstelle und etwas aus diesem auswähle.
Das die auswahl sofort verarbeitet wird ohne vorher ein Bestätigenbutton o.ä. einzufügen?

z.B.

PHP:
<?php 
 $select = '<select size="1" name="select"><option>---</option>';
 $maxid = mysql_query("SELECT max(id) FROM Datenbank", $db_link); 
 $maxid = mysql_fetch_row($maxid);
 for($e=1;$e<$maxid+1;$e++)
 {
  $data = mysql_query("SELECT * FROM Datenbank WHERE id='$e'", $db_link);
  $data = mysql_fetch_row($data);
  if($data['name']!='')
  {
   $select .= '<option>'.$date.'</option';
   if($selectvalue==$data['name'])
    $select .= 'selected';
   $select .= '>';
  }
 }


Am ende soll es dann halt so gehen das wenn ich einen Beitrag dort aus dem Dropdownmenü auswähle, der ablauf des Programmes weiter geht ohne das ich auf einen Button drücken muss, (natürlich kann ich es programmieren das es mit Button geht, ist aber unschön bei jeder Selection einen bButton zu Bestätigen damit es weiter geht)
 
Wofür brauchst du das denn?
Mit PHP geht es jedenfalls nicht.
Das gehört mehr in die Kategorie JavaScript & Ajax (Wobei du Ajax nur in bestimmten fällen brauchst)
Dort gibt es Events. Mit onchange kannst du dann das Ereignis abfangen, das bei einer Änderung deines Dropdown Menüs ausgelöst wird.
Bedenke: PHP leuft auf dem Server, JS auf dem Client, und dein Problem hört sich mehr nach dem Clienten an...
 
Entwicklerpages Vorschlag mal in Code ausgedrückt:

HTML:
<select name="foobar" onchange="this.form.submit()">
    <option value="foo" selected="selected">foo</option>
    <option value="bar">bar</option>
</select>


Aber noch was Anderes:
Dein PHP Code, vor Allem was die Datenbankabfrage an geht, ist absoluter Horror. Wie kamst du auf die Idee, dass so zu machen? Ich habe das noch nie gesehen, dass jemand die höchste ID ausließt und dann in einer for-Schleife alle Datensätze anhand der ID abfragt. Mach doch einfach folgendes und durchlaufe dann alle zurückgegebenen Zeilen (wie du das mit einer while-Schleife machst steht quasi in jedem PHP+MySql Tutorial):

SQL:
SELECT * FROM Datenbank ORDER BY id;
#oder direkt noch
SELECT * FROM Datenbank WHERE name<>'' ORDER BY id;
 
Es hat seine Gründe warum ich es nicht in einer While-Schleife auslese. Natürlich bin ich mir dessen bewusst wie ich mit einer While-Schleife eine DB auslese, da ich es auch überwiegend so durchführere, Jedoch gibt es bei meinen Programm Punkte wo sich ein auslesen der DB so geschickter lösen lässt als mit einer While-Schleife. Vorallem wenn ich dynamische Abfragen miteinander vergleichen muss. Aber dennoch danke für die Hilfe und es geht nicht um den Sinn für was man das brauch sondern um die Nutzerfreundlichkeit. Es ist halt schöner einen weitern Programmpunkt aufgehen zu lassen wenn man etwas selectiert ohne das man immer auf einen Bestätigen Button drücken muss.
 

Neue Beiträge

Zurück