Autor | Zpráva | ||
---|---|---|---|
spacek145 Profil |
#1 · Zasláno: 9. 7. 2013, 13:51:38
Dobrý den, mám php seznam kde mam cas udalosti:
tabulka ---------------------------------------- jmeno konci zacina ----------------------------------------- nekdo1 156525 262233 nekdo2 1144141 11515 (čas a datum ve stringu) A mam k tomu formular na vkladani udalosti do teto tabulky --> A potřebuju tam sestavit IF podmínku, která by mi osetrila, aby kdyz pridam novou udalost, aby nebyla pridana v case (v tom rozmezi konce a zacatku), kdy uz tam je nekdo napsanej. Jak to mam udelat? Př. Martin zač. 14:50, konec 15:20 a ja chci pridat Ivetu, zač. 15:00, konec: 16:30 <- To nepujde Pujde az minimalne: Iveta, zač. 16:31 - 17:00 |
||
Tori Profil |
spacek145:
„mám php seznam“ Kde - je to uložené v databázi, nebo textový soubor? Jinak je potřeba porovnat novou událost se všemi už existujícími (uloženými). Pokud najdete nějakou, která bude vyhovovat podmínce nova.zacatek < ulozena.konec && nova.konec > ulozena.zacatek , jejich časy se někde překrývají.
|
||
spacek145 Profil |
#3 · Zasláno: 9. 7. 2013, 14:13:43 · Upravil/a: spacek145
v DB
Ale jak to mam porovnavat se vsemi? hromadnej slect a pak preš Row[zacatek] a Row[konec] ? |
||
juriad Profil |
Musíš se zbavit časů a datumů ve strinzích; do databáze je ukládej jako DATETIME. Jinak jsi nahranej a máš smůlu.
$zacatek a $konec jsou Ivetiny hodnoty. SELECT COUNT(*) FROM tabulka WHERE $zacatek < konci AND zacina < $konec Pokud tento dotaz vrátí nulu, tak je ten interval volný. Hodnota znamená, s kolika jinými intervaly se protíná. |
||
Časová prodleva: 11 let
|
0