mehrere Zeilen parallel in einem sql befehl zu aus einer anderen tabelle mit abfragen

druckgott

Erfahrenes Mitglied
Hallo, ich habe folgende Tabellensituation:
Tabelle 1:

|ID|Name|
-----------
|1 |test1 |
|2 |tfdsafd |
|3 |tfd234 |


Tabelle 2:
|ID|Name|tabelle1_id|
|1 |trz | 1
|2 |rtzrtz | 1
|3 |rtzrtz | 2
|4 |tfgsgdf | 3
|5 |tfgdhg | 3

Aktuell durchlaufe ich Tabelle 1 und liste das auf.
Jetzt will ich eine selectbox einbauen (das kein Problem das bekomme ich hin), bei der ich dann jeweils in der Übersicht von Tabelle eins wenn ich in der Zeile von id1 aus Tabelle 1 bin die Auswahl von Tabelle zwei habe wo eben tablelle1_id = 1 ist usw.
Sozusagen zu jeden element aus tabelle 1 will ich die zuordung zu tabelle 2 als select auswahl haben.

Jetzt könnte ich ja beim durchlaufen der Elemente von Tabelle 1 immer zwischen drin ein SQL befehl machen wo ich die Daten aus Tabelle 2 Auswähle und in die Selectbox liste. Die frage ist, ob ich das nicht mit einem Befehl schaffe, wenn ja hat jemand vielleicht ein kleines beispiel für sowas, oder kann mir das prinzip erklären.

danke druckgott
 
Hi,

damit ich dich richtig verstehe: Du willst alle Daten aus Tabelle2 anzeigen, wobei das letzte Feld eine Combobox von Tabelle1 ist. Der vorselektierte Wert in der Combobox ist der eingetragene Wert in der Spalte tabelle1_id.
Wenn du das so machen willst, dann musst du soweit ich das verstehe mit 2 Selekts arbeiten.

Du kannst den Selekt der Combobox-Werte aus T1 vorher einmal machen und einem Array speichern: $tabelle1[id] = 'Name'
Als Pseudocode:
Code:
for each row in select * from tabelle1
   set table1_array[row.id] = row.Name
done for

for each row in  select * from tabelle2
  print ID
  print Name
  for each cb_entry in table1_array
    if row.tabelle1_id == cb_entry.id then
       print selected
    else
      print not selected
    end if
  end for
end of

Grüsse,
BK
 
Zurück