Drop Down Feld Problem.....

el_espiritu

Mitglied
Folgendes Problem:

Ich lasse in einem Drop-Down-Feld 5 festgelegte Einträge aus einer Datenbank erscheinen zum Auswählen. Die Auswahl wird dann wiederrrum in der Datenbank in einer anderen Tabelle gespeichert. soweit wunderbar. Aber jetzt muss ich diese gespeicherten Daten auch updaten, sprich ändern können. Dabei sollen die festgelegten Daten wieder in einem Drop Down Feld angezeigt werden, allerdings mit dem gespeicherten Eintrag vorselektiert. Ist das machbar ?
 
Original geschrieben von Devil Noxx
Ja!
Etwas ausführlicher hätte nichts geschadet......:rolleyes:
Hier ist mein derzeitiger Code:

PHP:
<td align="left" width="300">&nbsp;Bearbeiter:&nbsp;&nbsp;<select name="bearbeiter_id">
					<?php
						$abfrage_bearbeiter = "SELECT * FROM mitarbeiter ORDER BY bearbeiter_id ASC";  //Mitarbeiter aus Datenbank aufsteigend nach ID auslesen
						$data_ma_name = mysql_query($abfrage_bearbeiter); //Abfrage mit "mysql_query" in eine Variable schreiben
						while($feld_ma_name = mysql_fetch_array($data_ma_name))  // Schleife für Listenfeld wird solange durchlaufen
																				 // bis in Variable kein Datensatz mehr ist
						{
							echo "<option value='".$feld_ma_name['bearbeiter_id']."'>".$feld_ma_name['bearbeiter_name']."</option>\n";  // Ausgabe des Namens in Listenfeld, ID wird als VALUE übergeben
						}
					?>
						</select></td>
 
a) was sind die 5 festgelegten Felder?
b) die 5 Mitarbeiter?
c) wo liest du aus, welches der 5 Felder selektiert wurde?
d) mit so wenig Angaben, verblüfft die Antwort "Ja" nicht!
e) bitte um nähere Erklärung deiner Situation
f) danke ;)
 
Original geschrieben von rauchi
a) was sind die 5 festgelegten Felder?
Das sind Felder aus der Datenbank. Die Daten stehen in der DB und werden von dort in das Drop-Down-Feld eingelesen. (siehe Code)
Original geschrieben von rauchi

b) die 5 Mitarbeiter?
Korrekt. Diese 5 stehen in der DB.

Original geschrieben von rauchi
c) wo liest du aus, welches der 5 Felder selektiert wurde?
Ganz normal über den Namen des Drop-Down-Feldes: "$bearbeiter_id"
Wird auf der action-Seite ausgelesen und in DB gespeichert.

Original geschrieben von rauchi
d) mit so wenig Angaben, verblüfft die Antwort "Ja" nicht!
Das hätte man dann ja schreiben können. :rolleyes:

Original geschrieben von rauchi
e) bitte um nähere Erklärung deiner Situation
f) danke ;)

Also: Der Code von oben ist mein momentaner Code. Dort werden die Mitarbeiternamen aus der DB ausgelesen und in einem Drop-Down-Feld angezeigt. Wird vom User dann eine Auswahl getroffen, wird diese Auswahl ganz normal über den Namen des "<select>"-Tags ausgelesen und in einem Datensatz gespeichert. Nun soll aber dieser Datensatz auch editiert werden können. D.h. ich will auf einer anderen Seite den Datensatz aus der DB auslesen, sprich die Mitarbeiter wieder alle in einem Drop-Down-Feld anzeigen lassen, ABER den Mitarbeiter aus dem Datensatz, den der User vorher gewählt hat, vorselektiert zeigen (So das der User sieht, welcher Mitarbeiter abgespeichert wurde für diesen Datensatz). Daraufhin kann der User den Mitarbeiter ändern, also eine andere Auswahl treffen und den kompletten Datensatz dann wieder speichern. (MySQL Funktion "Update"). Jetzt besser verständlich? :)
 
ich weiß nicht, ob ich das Ganze richtig verstanden habe:
Du hast dieses DropDownMenü, mit dem man z.B. für ein Projekt einen Bearbeiter auswählen kann, ja?!
Das Projekt (Codename "Würfelbau" :-) ) soll also von Willi Meier bearbeitet werden. Willi Meier wird in dem Selectfeld ausgewählt und nach Abschicken des Formulars wird in einer Datenbank beim Datensatz für "Würfelbau" als Bearbeiter Willi Meier eingetragen (z.B. mit seiner bearbeiter_id).
Wenn du nun dieses Projekt bearbeiten willst, dann soll in dem Select-Feld, in dem die Mitarbeiter drin stehen, Willi Meier bereits ausgewählt sein, ja?

Ok, lange Rede, kurzer Sinn:
PHP:
<td align="left" width="300">&nbsp;Bearbeiter:&nbsp;&nbsp;<select name="bearbeiter_id">
                    <?php
$uebergebene_projekt_id=5; //Projekt ID, die z.B. per URL mittels GET übergeben wurde
// Hier wird der aktuelle Bearbeiter für das Projekt ausgelesen
$abfrage_projekt=mysql_query("SELECT bearbeiter_id FROM projekte WHERE projekt_id='$uebergebene_projekt_id'");
$row=mysql_fetch_array($abfrage_projekt);

                        $abfrage_bearbeiter = "SELECT * FROM mitarbeiter ORDER BY bearbeiter_id ASC";  //Mitarbeiter aus Datenbank aufsteigend nach ID auslesen
                        $data_ma_name = mysql_query($abfrage_bearbeiter); //Abfrage mit "mysql_query" in eine Variable schreiben
                        while($feld_ma_name = mysql_fetch_array($data_ma_name))  // Schleife für Listenfeld wird solange durchlaufen
                                                                                 // bis in Variable kein Datensatz mehr ist
                        {
                            echo "<option value='".$feld_ma_name['bearbeiter_id']."'";
// Hier wird jetzt bei dem Datensatz, dessen Bearbeiter = der Bearbeiter des Projektes ist ein " selected" hinzugefügt, d.h. der Datensatz gilt als ausgewählt
if($feld_ma_name['bearbeiter_id']==$row['bearbeiter_id']) {
   echo " selected";
}
echo ">".$feld_ma_name['bearbeiter_name']."</option>\n";  // Ausgabe des Namens in Listenfeld, ID wird als VALUE übergeben
                        }
                    ?>
                        </select></td>

Ich hoffe das war in etwa, was du meintest?!
 
Jaaaa, das war genau das was ich meinte. ;)
Aber mittlerweile bin ich sogar selber auf diese Idee mit der IF-Abfrage gekommen. :-)
Trotzdem Danke für die Antworten
 
Zurück