Autor Zpráva
bob99
Profil
Mám 2 tabulky v MySQL kde jsou pole:

dochazka_users.pracovnidoba_do ........ pole typu TIME
dochazka.odchod ........ pole typu DATETIME

...a pomocí SELECT dotazu bych potřeboval tyto pole od sebe odečíst:

SELECT UNIX_TIMESTAMP(dochazka_users.pracovnidoba_do) - UNIX_TIMESTAMP(dochazka.odchod) AS cas FROM.....

Problém je v různých datových polích. Datum je v PHP známé ale jak ho doplnit do dotazu?. Jde do SELECT dotazu doplnit něco jako SELECT UNIX_TIMESTAMP('2010-05-14 '+dochazka_users.pracovnidoba_do)...... ???

Díky
SwimX
Profil
bob99:
Datum je v PHP známé ale jak ho doplnit do dotazu?
mysql_query("SELECT * FROM table WHERE cas >= '".date('Y-m-d')."'");
např.
ALE MySQL umí dnešní datum vložit samo, funkce NOW(). V případě použití now ale dochází ke zrušení cachování dotazů.
bob99
Profil
Asi jste nepochopil můj dotaz. Nepotřebuji doplnit podmínku WHERE, ale odečíst od sebe 2 pole v MySQL v různém formátu... NOW() vloží aktuální datum což nepotřebuji.
Kajman_
Profil *
Možná takhle... ale asi to nebude fungovat dobře, když někdo odejte až po půlnoci.

select time_to_sec(dochazka_users.pracovnidoba_do)-time_to_sec(dochazka.odchod) as cas from...


Když budou odchody i v druhý den, tak by i to datum správného odchodu šlo doplit např. přes concat...

select unix_timestamp(concat('$datumYYYY-MM-DD',' ',dochazka_users.pracovnidoba_do))- unix_timestamp(dochazka.odchod) as cas from...
bob99
Profil
Vyzkoušel jsem CONCAT() a funguje. Díky moc
tomas
Profil *
již umím zapsat data do databáze a prosím radu jak data z databáze číst. Všechny mé pokusy jsou nefunkční a nevím kde dělám chybu.

Zápis do databáze je: mysql_query("INSERT INTO `jmenoDB`.`jmenoTabulky` (`jmeno`,`prijmeni`) VALUES (`$jmeno`,`$prijmeni`)");

Čtení z DB a tabulky: $vysledek = mysql_query("SELEKT .........................................");

Děkuji za radu.
panther
Profil
tomas:
vkládané hodnoty patří do apostrofů (ne zpětných, jak to máš ty).

Příště si založ vlastní téma, tvůj příspěvek s původním dotazem nemá vůbec nic společného.

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:

0