letzte hoffnung
hallo, ihr seit jetzt meine letzte hoffnung, nachdem ich den ganzen tag rumprobiert habe, aber kein erfolg verbuchen konnte.
ich habe in einer datenbanktabelle 2 spalten mit datums im format jjjj-mm-tt. eine spalte ist 'datum von' und die andere 'datum bis'. zB. steht folgendes drin: 2004-11-21 | 2004-11-22 2004-11-23 | 2004-11-23 2004-11-25 | 2004-11-27 2004-11-31 | 2004-12-02 jetzt habe ich ein formular, wo man halt dieser tabelle neue daten hinzufügen kann. vor dem eintragen soll aber erst überprüft werden, ob der zeitraum der datums auch noch frei ist - genau da liegt nämlich mein problem. nach absenden des formulars werden alle vorhandenen datums aus dieser tabelle ausgelesen. dann speicher ich diese in 2 arrays: PHP-Code:
ich hatte schon zig varianten gehabt, aber irgendwie kann ich in den lücken, wo ja auch wirklich was frei ist, nix eintragen. zB. wäre der 24.11.2004 ja noch platz und da dürfte ich ja eigentlich eintragen, aber es ging nicht. ich hatte auch schon erst mal die datums umgewandelt mit mktime(), weil ich dachte das es damit besser klappt, aber nix. mein kopf raucht. könnt ihr mir tipps geben? |
also. zuallererst speichert man daten nicht so, sondern als unix-timestamp.
$timestamp = <zeitpunktdenduwissenwillst>; und dann im sql: SELECT COUNT( id ) AS amount FROM tabelle WHERE $timestamp >= datum_von AND $timestamp <= datum_bis wenn nun $mysqlresult[ 'amount' ] == 1 ist, steht schon was in der db für den zeitraum, wenn nicht, dann nicht. okay, das ganze jetzt noch für die beiden eingeben anfangs- und end-daten, dann hast dus... |
also so ganz verstehe ich deine variante nicht. :(
ich hab doch auch die möglichkeit bei phpmyadmin den type DATE zu wählen, wo dann die datums im jjjj-mm-dd format gespeichert werden. ich muss ja vorm eintragen bei allen vorhandenen einträgen überprüfen, ob der zeitraum noch frei ist. deshalb verstehe ich auch nicht, warum du in deiner sql-abfrage mit WHERE gearbeitet hast. ?! |
Zitat:
Zitat:
|
Zitat:
geht es also auch damit oder muss ich trotzdem in timestamp ändern? Zitat:
|
Kannst Du getrost bei DATE belassen.
|
bei mir ist amount immer 0, obwohl das datum eigentlich vergeben ist!?
|
Zeig mal den Code.
|
PHP-Code:
|
lasse ich die WHERE-bedingung weg, zählt er mir mehr als 0 treffer, logisch. ich schlussfolgere einfach mal daraus, dass das mit >= & <= nicht funktioniert. wie auch? wenn eingegebenes datum_von größer als datenbank datum_von & eingegebenes datum_bis kleiner als datenbank datum_bis ... ??
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:41:19 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.