Logikfrage Auswahllistengenerierung aus 2 Tabellen

Admi

Erfahrenes Mitglied
Es gibt 2 Tabellen in der Datenbank. Die eine enthält alle möglichen Werte (zB 1,2,3,4,5,6). Die andere enthält den vom User einstmals gespeicherten Wert zB 2)

Jetzt möche ich eine Art Updateseite erstellen, in der eine Auswahlliste aller möglichen (Tabelle 1) Einträge steht, wobei aber die gespeicherte Auswahl der Users (Tabelle 2) vorselektiert sein soll.

Irgendwann hatte ich hier irgendwo mal was dazu gefunden. Aber irgendwie find ichs einfach nicht mehr.

Hat zufällig jemand nen Link oder nen Hilfehinweis zum Denkanschub.
 
Ok ganz einfaches Beispiel, das jeder kennt :p

Du reggst dich bei nem Forum. Dabei hast du zB über eine Auswahlliste dein Geburtsdatum gewählt und mit Bestätigung wurde diese Wahl in eine Usertabelle gespeichert.

Wenn ich jetzt aber daherkomme und dieses Datum ändern möchte, dann soll er mir wieder eine Auswahlliste generieren, wo mein einstmals ausgewähltes Datum vorselektiert ist, aber darüber hinaus natürlich auch alle anderen Dati in der Auswahlliste erscheinen, da man ja auch eine Auswahl haben muss, damit man eine Änderung vornehmen kann :p

Bsp:

Tage 1-31

gewählter Tag 11

Dann sollen in der Auswahlliste wieder die 1-31 erscheinen aber mit vorselektierter 11 (damit der User weiß, welchen Wert er einstmals eingetragen hatte)

PS: Eine Auswahlliste ist bei dir ein Pulldown vermutlich

<select name="">
<option value=""></option>
</select>

Vielleicht kommt mein Anliegen so irgendwie besser zum Ausdruck :D
 
Zuletzt bearbeitet:
Ach so. Am einfachsten wäre, wenn du die Tage, Monate und Jahre mit eine Schlefe generierst. Dann tust einfach eine Abfrage in die Schlefe, ob der entsprechende Zählwert der Schleife dem Tag entspricht. Falls ja, tust selected einfügen, falls nein eben nicht.

PHP:
for ($i = 1; $i < 32 ; $i++)
{
     if ($i == $tag)
     {
          echo '<option name="tag" value="'.$i.'" selected>Tag '.$i.'</option>';
     }
     else
     {
          echo '<option name="tag" value="'.$i.'">Tag '.$i.'</option>';
     }
}
 
Wo ist das Problem? Wenn du die Liste erstellst, musst du nur überprüfen, ob der Wert, der aktuell behandelt wird, dem des Users entspricht. Wenn ja, gibst du ihm die Option selected. Wenn nicht, ohne diese Option.

Wie man das macht, hatte wir schon ein paar mal.
 
Beim Beispiel mag das funktionieren. Ich hab in der Tabelle allerdings Strings

@Fanste

Aha und wo find ich das?
 
Ja da teilst du den String halt in ein Array. Bei folgendem Datum würde das Beispiel so aussehen:

PHP:
$datum="5.5.2001";
$datum=explode(".", $datum);

for ($i = 1; $i < 32 ; $i++)

{

     if ($i == $datum[0])

     {

          echo '<option name="tag" value="'.$i.'" selected>Tag '.$i.'</option>';

     }

     else

     {

          echo '<option name="tag" value="'.$i.'">Tag '.$i.'</option>';

     }

}
 
Hab mir selber n Kopf gemacht und eure Anleihen umgebaut und es klappt nun :p

Trotzdem Danke!
 
Zurück