jetzt wird kompliziert - äh zumindest für mich

backlash

Mitglied
Ok, folgendes,

Ich hab ne Datenbank mit verschiedenen Informationen, unteranderem gibt es ein Feld, in dem Das datum folgender maßen eingetragen ist

12. April 2002

so, soweit steig i ja noch durch,

aber jetzt setzt mein problem an,

auf ner separaten seite, will ich die tabelle nach einträgen durchsuchen die ein datum von + - 3 Tagen zum heutigen Datum haben, und natürlich auch ausgeben lassen, naja und da steh ich nu wie ox vorm berge, und weiß ned wie.

geht des überhaupt ?

wäre nett wenn ihr mir helfen könnt, hab noch ned so den großen schimmer von php

so long
 
Ich hab auch keine Ahnung aber ich würd das wohl eher mit nem Extra Timestamp-Feld inner DB machen. weil mit nem String isses arg umständlich... -->Timestamp

2b
 
Das extra timestamp bringt mir nix, da ich dann ungefähr 15000 einträge nachbessern müsste, die mit einem datum ab 01. Januar 1997 beginnen nene, das mach ich nich nochmal alles.
 
na dann bau dir ein schleifensystem das dir deinen Datumsstring ausseinander nimmt...
also den String bei jedem leerzeichen zerhacken und in ein array ...
dann hast du tag/Monat/Jahr
Monate mit switch schleife in Zahlen zerlegen

dann schleifen...
wenn $tag größer/gleich aktuellerTag-3 dann...
dann Monate dann Jahre.... Viel Spaß...
Machs mit timestamp und lass es nach und nach auslaufen....

2b
 
also ich kann dir nicht richtig helfen, da ich 1. noch kein Profi bin und 2. mich mit MySQL überhaupt nicht auskenne...

aber vielleicht hilft dir meine Idee weiter:


ich würde noch eine weitere Spalte in jede Zeile einfügen, in der das Datum so Dargestellt wird: YYMMDD

also so

20020412 (= 12.April 2002)

dann kannst du die Abfrage ja so machen: ($datum steht für die Spalte mit dem Datumformat 20021204)

$startdatum = $datum;
$min = $startdatum - 3;
$max = $startdatum + 3;

und dann alle Zeilen einlesen und die Abfrage machen

if ($datum <= $max && $datum >= $min ) {
echo "$datum";
}


ich hoffe, du kannst mit der Idee was anfangen
 
Zuletzt bearbeitet:
Das problem ist halt wenn ich ne weitere spalte mache, dann muß i bei ca 15000 einträgen, den ganzen klamauk wieder von hand editieren, und das ist einfach zu aufwendig.

von dorther würd ich gern die angaben nehmen wie sie bereits in der db stehen.
 
Original geschrieben von backlash


wäre nett wenn ihr mir helfen könnt, hab noch ned so den großen schimmer von php


^ ^ Das sollt wohl alles sagen, bin froh das i des so hinbekommen hab wies jetzt is ;)

außerdem müßt i dann zusätlich wieder die detailausgabe umbaun, urgs
 
du lässt dir alle einträge auslesen.
nun kannst du mit $dat = explode(".", $datum); dein datum "exploden", also ist $dat[0] deine tage.

in der schleife lässt du halt jetzt einfach alle einträge ausgeben, solange $dat[0] 3 weniger und 3 mehr als der heute tag ist. (heutiger tag = date("d");

aber wieso +3 tage ? sein wann gibts einträge in der zukunft ?
 
Naja, es geht halt darum, welche titel in den nächsten 3 tagen eintreffen, und welche bereits eingetroffen sind ;)

aber i werd des mal versuchen, mal schaun ob i des gebacken bekomm.
 
Zurück