[ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
NapísalOffline : 12.10.2011 13:06 | Porovnanie dvoch datumov

Zdravim, mam na vas jednu otazocku, ide o to ze potrebujem porovnat 2 datumy nacitane z databazy, teda nacitam prvy datum prebehne cyklus a ten datum sa potom ulozi do premennej $olddatum a pri dalsom nacitani porovnava $olddatum s novonacitanym datumom v premennej $datum... porovnanie v style
Kód:
if ($olddatum != $datum) ...
nefunguje...tak teda porovnavaju sa datumy nejak inak?

datumy su nacitavane vo formate YYYY-MM-DD


Offline

Užívateľ
Užívateľ
Porovnanie dvoch datumov

Registrovaný: 01.12.09
Prihlásený: 16.03.17
Príspevky: 864
Témy: 26 | 26
Bydlisko: Žilina
NapísalOffline : 12.10.2011 14:55 | Porovnanie dvoch datumov

http://php.net/manual/en/function.strtotime.php


_________________
PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =(
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 12.10.2011 15:46 | Porovnanie dvoch datumov

Bajzik píše:
http://php.net/manual/en/function.strtotime.php


ale ja oba nacitavam z databazy, ani jeden nepouzivam aktualny...


Offline

Užívateľ
Užívateľ
Porovnanie dvoch datumov

Registrovaný: 28.04.11
Prihlásený: 13.12.17
Príspevky: 291
Témy: 26 | 26
Bydlisko: Martin/Brno
Vek: 23
NapísalOffline : 12.10.2011 15:50 | Porovnanie dvoch datumov

tak keď ich tam vkladáš neukladaj ich v tvare YYYY-MM-DD ako ti napísal bajzik.


_________________
Stroje: zobraziť
NTB:
Lenovo W541 | i7-4810MQ | Quadro K1100M | 500GB SSD | 16GB RAM | Fedora 25 + i3wm

Mobil:
Nexus 5X

DSLR
Nikon D5100
Offline

Užívateľ
Užívateľ
Porovnanie dvoch datumov

Registrovaný: 01.12.09
Prihlásený: 16.03.17
Príspevky: 864
Témy: 26 | 26
Bydlisko: Žilina
NapísalOffline : 12.10.2011 15:50 | Porovnanie dvoch datumov

strtotime prevedie dátum na číselnú hodnotu, takže $prvy = strtotime(prvy), $druhy = strtotime(druhy), potom porovnat obe a vacsie cislo = vacsi datum. Niesom si isty je to len teoreticky poznatok strtotime som pouzival iba raz :)


_________________
PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =(
Offline

Užívateľ
Užívateľ
Porovnanie dvoch datumov

Registrovaný: 28.04.11
Prihlásený: 13.12.17
Príspevky: 291
Témy: 26 | 26
Bydlisko: Martin/Brno
Vek: 23
NapísalOffline : 12.10.2011 15:53 | Porovnanie dvoch datumov

fúha to čo som napísal nieje moc zrozumiteľné :D len neviem aký tvar dátumu funkcia strtotime berie to už si pozri na tej stránke čo ti poslal ale malo by to fungovať ak bude mať správny tvar ten dátum.


_________________
Stroje: zobraziť
NTB:
Lenovo W541 | i7-4810MQ | Quadro K1100M | 500GB SSD | 16GB RAM | Fedora 25 + i3wm

Mobil:
Nexus 5X

DSLR
Nikon D5100
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 12.10.2011 16:01 | Porovnanie dvoch datumov

Sunnynko píše:
Kód:
if ($olddatum != $datum) ...
nefunguje...tak teda porovnavaju sa datumy nejak inak?
Prečo si myslíš, že to nefunguje?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 12.10.2011 16:26 | Porovnanie dvoch datumov

chrono píše:
Prečo si myslíš, že to nefunguje?


Lebo aj ked su oba datumy rovnake tak to do cyklu vojde


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 12.10.2011 16:32 | Porovnanie dvoch datumov

Nechaj si tam tie dátumy vypisovať (pretože s porovnávaním reťazcov php určite problém nemá). :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 12.10.2011 16:34 | Porovnanie dvoch datumov

chrono píše:
Nechaj si tam tie dátumy vypisovať (pretože s porovnávaním reťazcov php určite problém nemá). :)


Aj to som spravil a aj ked sa $olddatum != $datum pricom $olddatum bola hodota 2011-10-08 a v $datum bola hodnota 2011-10-08 tak aj tak to voslo do cyklu


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 12.10.2011 16:37 | Porovnanie dvoch datumov

Skopíruj (naozaj skopíruj, nestačí to prepísať), ten kód sem, pretože je možné, že tam je aj iný problém.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 12.10.2011 17:10 | Porovnanie dvoch datumov

Kód:
$mesacna = 0;
$denna = 0;
$sql = mysql_query("SELECT * FROM dochadzka ORDER BY Datum");
while($zaznam=MySQL_Fetch_Array($sql)){
$datum = $zaznam["Datum"];
$den = $zaznam["Den"];
$cas = $zaznam["Cas"];
$hotline = $zaznam["Hotline"];
$vykon = $zaznam["Vykon"];

if ($oldddatum != $datum) {
if ($hotline == 'Ano' && $den == 0) {
    $denna = 12; }
elseif ($hotline == 'Ano' && $den != 0) { $denna = 26.4; }
else { $denna = 22.4; }

if ($cas >= '16:00:00' && $vykon == 'Servis') { $denna += 4; }
}

elseif ($cas >= '16:00:00' && $vykon == 'Servis') {
$denna += 4;}

$olddatum = $datum;

Echo ("Dna $datum je Denna $denna a Mesacna je $mesacna<br>");
$mesacna += $denna;

}

echo ("Tento Mesiac zarobis: $mesacna");


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 12.10.2011 17:16 | Porovnanie dvoch datumov

V oldddatum != $datum máš jedno d navyše (a keby si si zapol zobrazovanie všetkých chýb, tak by si na to prišiel aj sám ;) ).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 12.10.2011 19:02 | Porovnanie dvoch datumov

chrono píše:
V oldddatum != $datum máš jedno d navyše (a keby si si zapol zobrazovanie všetkých chýb, tak by si na to prišiel aj sám ;) ).


nejde o to to bol preklik ked som skusal este nejake veci...aj tak to nerobi dobre...vystup mam takyto:
Kód:
Dna 2011-10-04 je Denna 30.4 a Mesacna je 0
Dna 2011-10-05 je Denna 26.4 a Mesacna je 30.4
Dna 2011-10-06 je Denna 22.4 a Mesacna je 56.8
Dna 2011-10-07 je Denna 26.4 a Mesacna je 79.2
Dna 2011-10-08 je Denna 26.4 a Mesacna je 105.6
Dna 2011-10-08 je Denna 26.4 a Mesacna je 132
Dna 2011-10-08 je Denna 30.4 a Mesacna je 158.4
Tento Mesiac zarobis: 188.8


toho 8.10.2011 nema pocitat 2x26.4 ale ma pripocitat len tych 30.4...


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 12.10.2011 19:21 | Porovnanie dvoch datumov

Ak som pochopil, čo chceš dosiahnuť, tak v prípade, keď sa nezmenil dátum nemôžeš k $mesacna pripočítavať $denna (pretože tam pripočítaš viac, ako chceš). Tú premennú môžeš pripočítať len keď sa zmenil dátum (a v závislosti od toho, ako to urobíš, budeš možno musieť pripočítať tú premennú ešte aj po cykle, pretože ti v nej môže ešte ostať niečo, čo si v tom cykle do $mesacna nepripočítal).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.06.11
Prihlásený: 19.12.13
Príspevky: 16
Témy: 4 | 4
Napísal autor témyOffline : 13.10.2011 10:09 | Porovnanie dvoch datumov

chrono píše:
Ak som pochopil, čo chceš dosiahnuť, tak v prípade, keď sa nezmenil dátum nemôžeš k $mesacna pripočítavať $denna (pretože tam pripočítaš viac, ako chceš). Tú premennú môžeš pripočítať len keď sa zmenil dátum (a v závislosti od toho, ako to urobíš, budeš možno musieť pripočítať tú premennú ešte aj po cykle, pretože ti v nej môže ešte ostať niečo, čo si v tom cykle do $mesacna nepripočítal).


vlastne tych 12, 22.4 alebo 26.4 chcem pripocitat iba raz denne...no k tej dennej potrebujem este kontrolovat ci nebol nahodou servis po 16:00 ak ano potrebujem pripocitat +4...


EDIT: Skusal som to aj s funkciu strtotime a tiez bez uspechu...

// pridané po 14 hodinách 46 minútach od posledného príspevku

Vyriesene...fungovalo to aj v tom prvom pripade ja som len zabudol vynulovat premenu $denna preto to vyzeralo tak ako keby ta podmienka nebola splnena no aj tak tu dennu pripocitavalo.


 [ Príspevkov: 16 ] 


Porovnanie dvoch datumov



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie dátumov

v PHP, ASP

2

246

09.08.2012 9:50

hackerwoody

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie datumov

v PHP, ASP

4

345

07.09.2008 15:36

juho

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie 2 datumov, aj cas je dolezity

v PHP, ASP

4

315

09.06.2012 12:46

baumax

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie dvoch modelov

v AMD - Advanced Micro Devices

11

572

23.12.2008 15:29

elsofi

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie dvoch posledných teplôt

v PHP, ASP

5

211

29.12.2016 23:39

walther

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie dvoch cisiel navzajom

v PHP, ASP

2

345

31.08.2009 10:42

László145

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie dvoch premennych typu VARCHAR

v PHP, ASP

11

198

02.06.2014 12:37

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

Program na porovnanie dvoch videí.

v Video programy

2

110

14.01.2013 14:41

sekenke

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie hodnot v dvoch tabulkach

v PHP, ASP

8

395

25.02.2008 20:21

Broko71

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie dvoch Radeoniek a zavazna otazka nakoniec

v ATI/AMD grafické karty

9

374

03.12.2009 9:53

yarzo

V tomto fóre nie sú ďalšie neprečítané témy.

Odccitanie datumov

v PHP, ASP

3

247

04.12.2009 8:51

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

anomalia v porovnani datumov???

v PHP, ASP

4

246

28.02.2013 1:07

nig3c

V tomto fóre nie sú ďalšie neprečítané témy.

zotriediť podľa datumov v jednom selecte

v Databázy

14

322

06.09.2011 17:34

Karo88

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie

v Grafické karty

5

335

26.01.2010 15:29

Cirky

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie

v Grafické karty

2

443

26.03.2007 10:38

OmeGa

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie

v Počítačové hry

2

360

06.05.2010 14:29

Swat



© 2005 - 2017 PCforum, edited by JanoF