phpbar.de logo

Mailinglisten-Archive

[php] (no subject)

[php] (no subject)

Markus Dobel dobel_(at)_femu.rwth-aachen.de
Thu, 29 Jun 2000 13:07:21 +0200


Stefan Becker wrote:
> 
> Ich habe eine DB in der mehrere Artikel gespeichert sind, mit Datum
> (VARCHAR(10)).

Dumm. Datum als VARCHAR zu definieren, war ein Fehler, der Dir das Leben
nun unoetig schwer macht. Haettest du ein Datumsfeld oder Unsigned
Integer (indem Du den Unox-Timestamp speicherst) genommen, koenntest du
performante SELECTS mit "WHERE datum BETWEEN($datum1, $datum2)" machen.
Nun wirst Du Sachen wie "WHERE datum LIKE '__.02.2000' verwenden
muessen, womit Du die Nutzung von Indizes AFAIK verunmoeglichst.
Ueberdenke das noch einmal und aendere nach Moeglichkeit den Typ Deines
Datumsfeldes.

> So, jetzt möchte ich gerne eine Index Seite erstellen,
> die alle Artikel listet, gruppiert nach Monaten, in etwa so:
>  Januar         Februar
> 01.01.2000      01.02.2000
> 02.01.2000      02.02.2000
> 
> usw...
> 
> Irgendjemand eine Idee wie ich das machen kann?

Mit einem geeigneten <table>-konstrukt. Du SELECTest alle Artikel (bzw
ie relevanten Felder der Tabelle) des Jahres (ORDER BY datum),
durchlaeufst diese in einer Schleife und immer, wenn sich der Monat
aendert, gibst Du zusaetzlich zum Feldinhalt ein </td><td> davor aus. 

Gruss, Markus


php::bar PHP Wiki   -   Listenarchive