Dynamische Datenbankabfrage

Hallo Profis,

ich versuche gerade mittels eines Scriptes Daten aus der datenbank zu ziehen und dann darzustellen. Das klappt auch an sich ganz gut, ist ja auch simpel. Allerdings stehe ich nun vor dem Problem, dass ich variable Abfragen habe. Ich möchte nun eine Tabelle in PHP generieren, die genau so viele Zeilen hat, wie es auch Daten in der Datenbank gibt.

Nehmen wir an ich habe folgende Datenbank-Zeilen:
Hamburg
München
Köln
Hamburg
Berlin
München
München

Jetzt soll bei „Köln“ bspw. eine Zeile erscheinen, in der die gesamten Daten stehen, die in den Spalten neben Köln hinterlegt sind. (Also nur eine Zeile)
Frage ich München ab, sollen drei Zeilen erscheinen, eben mit den Daten, die hinter München hinterlegt sind.

Logisch gesehen müsste sich das ja mit einer while-Schleife lösen lassen, nur da bin ich mit meinem Latein am Ende. Vielleicht ist das auch der komplett falsche Ansatz.

Weiß jemand Rat? Hat jemand da ein gutes Tutorial zur Hand, oder einen brauchbaren Link (php.net ist da ja praktisch, aber mir zu wissenschaftlich geschrieben - ich will es ja lernen und nicht einfach so akzeptieren wie es eben ist) Einem Beispiel gegenüber bin ich natürlich auch nicht abgeneigt :slight_smile:

Danke schonmal :wink2:

Das ergibt sich automatisch, wenn du für jeden Datensatz ein TR erzeugst.

[quote]Nehmen wir an ich habe folgende Datenbank-Spalten:
Hamburg
München
Köln
Hamburg
Berlin
München
München[/quote]
Du wirst kaum mehrere Spalten gleichen Namens in einer Tabelle haben.

Spalten “neben” Köln …?

Deine Beschreibung ist zu konfus, um das Problem wirklich deutlich zu machen.

Hi,

das habe ich befürchtet. (Und nebenbei habe ich einmal Zeile und Spalte vertauscht, sry) Das ganze in Text zu fassen ist doch recht schwierig, ich versuche es mal so:


So ungefähr sieht meine Datenbank vereinfacht aus.

Ich habe in Spalte 1 also mehrere gleiche Einträge, die aber in Spalte 2, 3 und 4 verschiedene Daten haben.

Wenn ich jetzt die Abfrage “Hamburg” durchführe möchte ich, dass der User eine Tabelle mit 3 Zeilen sieht, weil eben 3 Einträge vorhanden sind. Bei “Köln” sollen bei der Abfrage nur 2 Zeilen erscheinen und bei “München” schließlich nur eine.

Ich hoffe, dass das jetzt etwas klarer rüberkommt.

soll also grob dargestellt so aussehen?

Hamburg  Text 1 .....
         Text 2.....
         Text 3.....
Köln     Text1.....
         Text 2.....
München Text 1....

Hi, das Prinzip ist schonmal richtig, allerdings würde ich da gerne filtern lassen. Je nach Abfrage dann nur Hamburg ausgeben lassen bspw.

Ähm geh mal in icq ich glaub da is einfacher zu erklären

Ich wollte eigentlich gerade pennorn gehen, weil ich heute nicht mehr mit einer Lösung gerechnet hatte :ps:
Wäre es dir recht das zu vertagen?

Ja mir is das egal

im prinzip musst du wenn ich dich richtig verstanden habe bei der ausgabe der Daten in der Schleife den html code für die zeile der tabelle machen, das

musst du vor der schleife bzw </… nach der schleife separat ausgeben

Wo ist jetzt das Problem?
Du kannst doch der Abfrage ein WHERE übergeben, in dem eine Variable die Städtenamen hält. Wird keiner angegeben, dann wird mittels if die WHERE Klausel komplett aus der Abfrage entfernt.

Dann suchst du also wirklich schlicht und simpel nur die Möglichkeit, Abfrageergebnisse mittels WHERE-Klausel einzuschränken.

Ah, ich sollte mich wohl nochmal in die Doku stürzen. Das ist ja schon fast peinlich.

Danke Leute