Array loop mit Datenbankabfrage

Hallo,

wer hat eine Idee zu folgender Aufgabenstellung:

Ich habe eine MySQL Tabelle mit einem Feld ID_Liste.
Hier stehen in kommaseparierter Form ID's von Datensätzen einer zweiten
MySQL Tabelle.
z.B kann ID_Liste den Wert "1,4,11,25,123" haben.
Jetzt muss ich die zweite Tabelle nach den Namen der entsprechenden ID's
abfragen und diese auch als Liste ausgeben.

Ausgabe:
Name_von_1, Name_von_4,Name_von_11, ...

Wie mache ich das?

Theoretisch denke ich, geht es folgendermaßen:
Ein Array aus dem Wert Liste erzeugen, dann als Schleife durchlaufen und in
jeder Schleife eine Datenbankabfrage an Tabelle zwei.

1. Wie sieht so ein Script aus?
2. es muss auch funktionieren, wenn Liste nur einen Wert hat (z.B. nur die
1)

Vielen Dank für jede Hilfe,
Martin Nadoll
Martin Nadoll [ Mo, 04 Oktober 2004 19:09 ] [ ID #61126 ]

Re: Array loop mit Datenbankabfrage

On 2004-10-04 19:09:23, Martin Nadoll wrote:
> Ich habe eine MySQL Tabelle mit einem Feld ID_Liste.
> Hier stehen in kommaseparierter Form ID's von Datensätzen einer zweiten
> MySQL Tabelle.
> z.B kann ID_Liste den Wert "1,4,11,25,123" haben.

Dein Datenbank-Layout ist kaputt. Du willst dich mit Normalisierung
beschaeftigen.

> Jetzt muss ich die zweite Tabelle nach den Namen der entsprechenden ID's
> abfragen und diese auch als Liste ausgeben.
>
> Ausgabe:
> Name_von_1, Name_von_4,Name_von_11, ...
>Wie mache ich das?

Bei richtigem Datenbank-Layout mit einem JOIN im SQL-Statement.

> Theoretisch denke ich, geht es folgendermaßen:
> Ein Array aus dem Wert Liste erzeugen, dann als Schleife durchlaufen und
> in jeder Schleife eine Datenbankabfrage an Tabelle zwei.

Brauchst du nicht. Nimm einfach den String aus dem Feld deiner ersten
Tabelle und baue daraus dein neues Query.

SELECT felder FROM zweite_tabelle WHERE ID_Liste IN (1,2,3)

hth, stephan
--
Der Terrorismus ist ein Krieg der Armen gegen die Reichen.
Der Krieg ist ein Terrorismus der Reichen gegen die Armen.
[Sir Peter Ustinov, 1921 - 2004]
Stephan Mann [ Mo, 04 Oktober 2004 20:14 ] [ ID #61134 ]

Re: Array loop mit Datenbankabfrage

Martin Nadoll wrote:
> Hallo,
>
> wer hat eine Idee zu folgender Aufgabenstellung:
>
> Ich habe eine MySQL Tabelle mit einem Feld ID_Liste.
> Hier stehen in kommaseparierter Form ID's von Datensätzen einer zweiten
> MySQL Tabelle.
> z.B kann ID_Liste den Wert "1,4,11,25,123" haben.
> Jetzt muss ich die zweite Tabelle nach den Namen der entsprechenden ID's
> abfragen und diese auch als Liste ausgeben.
>

Das habe ich auch mal versucht. Lass es, und normalisiere deine tabelle.
Such unter Google.

> Vielen Dank für jede Hilfe,
> Martin Nadoll

Bitte



--
Fatal Error: Could not find "brain" in Line 2004
Niklas Schumann [ Mo, 04 Oktober 2004 21:24 ] [ ID #61143 ]
PHP » de.comp.lang.php.misc » Array loop mit Datenbankabfrage

Vorheriges Thema: UTF8 per Mail
Nächstes Thema: mySQL in eine Tabelle in html