• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Nur so viele Daten wie nötig auslesen

THE_fan

Neues Mitglied
Hey guys,

evtl ist der Titel etwas missverständlich gewählt, wusste es aber nicht anders auszudrücken.

Folgendes Problem:

Ich habe Daten in eine Datenbank eingepflegt, die mir später eine Übersichtseite füllen sollen. Das HTML-Gerüst ist angelegt und wird je nach ID in der URL ausgelesen. Das funktioniert alles wunderbar.. Jetzt ist es allerdings so, dass ich für die verschiedenen Seiten verschieden viele Bilder haben. Im HTML-Teil habe ich eine Art Diashow, die eben mit genau diesen Bildern generiert werden soll.

In der Datenbank selbst habe ich Tabellen mit 'bild1', 'bild2', 'bild3', ...

Wie kann ich nun nach und nach auslesen, ob diese Felder gefüllt sind oder nicht, wie speicher ich das und wie gebe ich das dann an meine while-Schleife weiter?

Ich hoffe, ihr versteht was ich meine.

Bin auch für andere Lösungswege offen ;)

Danke vorab!
 
Werbung:
Hey ;)

Danke für deine Antwort.
Leuchtet ein, war auch schon eine Option (hatte ich vergessen zu sagen, was ich schon versucht hatte), die mir letzendlich aber dann doch etwas zu lange war. Mal angenommen, ich habe Felder von 'bild1' bis 'bild12', da müsste ich ja 12 if-Abfragen starten.. Das geht bestimt auch einfacher, oder? Kann ich beispielsweise ein Array schreiben und dort irgendwie jeden Wert überprüfen? Irgendetwas in der Richtung..

Danke & Gruß
 
Werbung:
THE_fan schrieb:
In der Datenbank selbst habe ich Tabellen mit 'bild1', 'bild2', 'bild3', ...

Wie kann ich nun nach und nach auslesen, ob diese Felder gefüllt sind oder nicht, wie speicher ich das und wie gebe ich das dann an meine while-Schleife weiter?

Könntest du das genauer beschreiben? Das klingt nach falschem Datenbankdesign.

Es sollte in etwa so aussehen:

Code:
Tabelle 'collection':

id | name            | directory
-----------------------------------
 1 | Spanien 2004    | spanien2004
 2 | Geburtstag 2009 | geb2009

Tabelle 'photo':

id | collection_id | sort_order | filename
----------------------------------------------
 1 |        1      |      2     | xyz.jpg
 2 |        1      |      1     | uierg.jpg
 3 |        2      |     10     | meer.jpg
 4 |        2      |      5     | strand.jpg

Alle Bilder einer "Collection" kannst du dann etwa über diese Abfrage ermitteln:

Code:
SELECT
        `id`,
        `filename`
FROM
        `photo`
WHERE
        `collection_id` = 1
ORDER BY
        `sort_order` ASC
 
Danke mermshaus.

Du hast das schon richtig verstanden. Um es mal etwas konkreter zu beschreiben, geht es um die Darstellung von Informationen für Feuerwehrfahrzeuge.
Meine Tabellen sind da, zunächst, etwas starr aufgebaut. Bedeutet, dass alle Informationen zu einem Fahrzeug in der Tabelle "fahrzeuge" liegen. Unterschieden werden die Fahrzeuge durch ihre ID.

Ich versuche das mal schnell darzustellen

Code:
Tabelle 'fahrzeuge'

id | fname | name | .... |   bild1   |   bild2   |   bild3   |
--------------------------------------------------------------
 1 |  22   | TLF  | .... | bild1.jpg | bild2.jpg | bild3.jpg |
 2 |  19   | MTF  | .... | bild1.jpg | bild2.jpg | bild3.jpg |

Wenn ich das nun richtig verstanden habe, lege ich eine neue Tabelle 'fahrzeuge_bilder' an und verknüpfe die dort hinterlegten Daten mit den jeweiligen IDs aus der Tabelle 'fahrzeuge' , right?

Danke & Gruß
 
Ja, genau. So kann die neue Tabelle beliebig um Einträge erweitert werden, ohne dass Änderungen am Schema (hier grob: der Spaltenanzahl) vorgenommen werden müssen.
 
Werbung:
Zurück
Oben