Ausgabe von Werten aus Datenbank
Benedikt Hermann
- php
0 Mike
Hallo,
ich lese Pressemitteilungen aus einer Tabelle einer MySql Datenbank aus. Neben der Überschrift und dem Inhalt der Pressemitteilung wird auch das Jahr der Erscheinung in einem Feld der Datenbank gespeichert.
Nun möchte ich eine Art Übersicht aller JAhre, von welchen eine Pressemitteilung in der Datebnak gespeichert ist, per Select Feld erstellen.
Frage: Wie lese cih am besten die Jahresahlen aus der Datenbank aus, so dass jede Zahl nur einmal vorkommt und ich ein Select Feld erstellen kan.
Bspl.:
2002
1999
1998
1994
Ind er Datenbank sind zu jeder Jahreszahl aber unter Umständen mehrer Artikel gespeichert.
Vielen Dank
benedikt hermann
Hallo Benedikt!
Du kannst mit Perl oder PHP auf die Datenbank Zugreifen, dann liest du alle Datensätze aus (select * from table) und schreibst sie in ein Array!
Danach überprüfst du ob für die jeweilige Jahreszahl ein Eintrag vorhanden ist,wenn ja dann gibst du sie aus (du musst wahrscheinlich die Daten noch in einem weiteren Array speichern um zu verhindern dass die Jahreszahlen öfter als einmal ausgegeben werden).
Das müsste funktionieren;
Ich hoffe das das klar verständlich ist!
Gruß Mike
Danach überprüfst du ob für die jeweilige Jahreszahl ein Eintrag vorhanden ist,wenn ja dann gibst du sie aus (du musst wahrscheinlich die Daten noch in einem weiteren Array speichern um zu verhindern dass die Jahreszahlen öfter als einmal ausgegeben werden).
Hi Mike,
vielen Dank.
Das ist ja genau das was ich suche.
Wie verhinder ich, dass die Daten mehrmals ausgegeben werden?
Hier das ganz nochmals einfacher erklärt:
Es werden unterschideliche Jahreszahlen in einer Tabelle eine DB gespeichert. Jede Jahreszahl kommt beliebig oft vor.
Frage: Wie lese ich jede unterschiedliche Jahreszahl nur einmal aus?
Grüße
Benedikt Herman
Hallo!!
Wenn du die Daten ausgelesen hast stehen sie ca. so in deinem Array;
z.B.: Array ([0] => 2002, [1] => eintrag, [2] => titel,[3] => 2002, [4] => eintrag, [5] => titel .....)
Dann überprüfst du ob für die Jahreszahlen ein eintrag vorhanden ist - wenn ja dann schreibst du diese Jahrezahlen in ein Array.
Wenn diese Schleife abgeschlossen ist dann eröffnest du eine neue Schleife (am besten foreach) und beginnst in dem du die erste jahreszahl in ein Array schreibst davor überprüfst du ob in diesem Array in dem dann im endefekt die Daten stehen sollen schon diese Jahrezahl vorhanden ist, wenn ja dann schreibst du diese nicht in das Array - wenn nein dann schreibst du sie hinein. Zum Schluss gibst du dann die Daten aus (wie auch immer)
Es ist zwar vieleicht nicht die kürzeste Methode aber sie funzt!!
Viel Glück Mike!!
Es ist zwar vieleicht nicht die kürzeste Methode aber sie funzt!!
Vielen Dank,
gibt es nicht eine Funktion, welche doppelte erte aus einem Array löscht. Ich glub da hab ich schonmal was davon gehört?!
Hallo Benedikt
Schau am besten im SelfHtml archiv nach! Da findest du sicher eine Antwort. Sonst machst du halt eine Schleife in einer Schleife (wie oben beschrieben)
Gutes Gelingen!
Hallo Benedikt,
gibt es nicht eine Funktion, welche doppelte erte aus einem Array löscht.
ja, gibt es: array_unique() (http://www.php.net/manual/de/function.array-unique.php)
Grüße aus Nürnberg
Tobias
Hallo,
Du kannst mit Perl oder PHP auf die Datenbank Zugreifen, dann liest du alle Datensätze aus (select * from table) und schreibst sie in ein Array!
Danach überprüfst du ob für die jeweilige Jahreszahl ein Eintrag vorhanden ist,wenn ja dann gibst du sie aus (du musst wahrscheinlich die Daten noch in einem weiteren Array speichern um zu verhindern dass die Jahreszahlen öfter als einmal ausgegeben werden).
Einfacher ist es doch wohl, das SQL-Statement zu ändern:
SELECT jahr FROM tabelle GROUP BY jahr ORDER BY jahr;
Gruß, Stefan
Einfacher ist es doch wohl, das SQL-Statement zu ändern:
SELECT jahr FROM tabelle GROUP BY jahr ORDER BY jahr;
Hi Stefan,
vielen Dank. Das hat mich weitergebracht.