Autor Zpráva
Janko98
Profil *
Mam zaujimavy problem, mam dva datumy:

priklad:

$od = "2009-03-01";
$do = "2009-06-02";

A ja chcem vytvorit pole datumov, v ktorom budu vsetky dni medzi tymito dvoma datumami.

Poradite?

Dakujem.
ninja
Profil
Moznosti je vice, napriklad:

Prevest na timestampy a pak v cyklu pridavat pomoci funkce strtotime vzdy +1 day dokud nedosahnete kyzeneho data.
AM_
Profil
To pole bude docela velké, k čemu to potřebuješ? nedalo by se vymyslet efektivnější řešení?
Kcko
Profil
cca 100 polozek v poli je hodne?
AM_
Profil
To je samozřejmě relativní, PHP to utáhne, ale skoro to vypadá jako nějaký kalendář kde třeba k jednomu datu bude událost a ostatní budou poněkud prázdné, takže by se nemusely vůbec ukládat do pole všechny položky.
ninja
Profil
AM_: v zadani je "vsetky dni". A nevim s cim pracujete, ale bezne pouzivam v PHP pole se stovkami zaznamu a nikdy jsem na beznych hostinzich nezaznamenal problem.
Janko98
Profil *
AM_
Ide o to, ze programujem kalendar.
A zada sa nejaka udalost, ktora trva niekolko dni, tak ja chcem to rozsekat na jednotlive dni a tie zapisat do databazy.

Priklad.

tabulka Udalosti:
id udalost od do


tabulky Dni
id idudalost

Rozumieme sa?
Ako by si to vedel lepsie? efektivnejsie?

Dakujem.
AM_
Profil
Tak, jak jsem říkal, neefektivní návrh.
Stačí tabulka Udalosti, tabulka Dni je tam úplně navíc ;)
Pokud chceš vědět, jestli je ten den nějaká událost, zkus:
SELECT * FROM udalosti WHERE CAST('2009-06-09' AS DATE) BETWEEN od AND do
Janko98
Profil *
AM_
Zaujimve, vyskusam.
Ty si uz si v minulosti niekedy programoval asi Kalendar, ze?

Inak nevies mi odporucit nejaku kvalitnu literaturu preto ako najlepsie navrhovat databazy?
AM_
Profil
Janko98
jsem samouk a těžím zatím pouze z webových článků :) ale tohle jsem vymyslel sám, protiví se mi ohromná pole o zbytečných datech. Momentálně pracuji na software pro plánování služeb, což je o mnoho dál než kalendář. Ale tohle je čistě o úvaze, musíš si v hlavě oddělit tabulky na papíře, kde máš předtištěné všechny kolonky, a MySQL tabulky, kde můžeš mít data v abstraktní a mnohem efektivnější podobě a především nemusíš "předtisknout prázdná políčka".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: