NoSound Posted November 22, 2008 Report Share Posted November 22, 2008 Tātad .. Ir nepieciešamība pārbaudīt vai lietotājs ir ielogojies savā profilā pēdējo 24h laikā ! Piemēram - lietotājs veiksmīgi autorizējās aizvakar, un šodien ieejot viņs saņem ziņu par to ka nav bijis aktīvs 2 dienas .. Kā to panākt ? Izmeklējos pa māti googli, bet nekādu rezultātu. Paldies jau iepriekš :) Link to comment Share on other sites More sharing options...
codez Posted November 22, 2008 Report Share Posted November 22, 2008 glabā last_login laukā unix_timestamp() un tad salīdzini vai tas atšķirās par 86400 no pašreizējā unix_timestamp(); Link to comment Share on other sites More sharing options...
NoSound Posted November 22, 2008 Author Report Share Posted November 22, 2008 <?php $parbaude = unix_timestamp(); echo $parbaude; ?> Fatal error: Call to undefined function unix_timestamp() in C:\wamp\www\date.php on line 3 Kur ir problēma ? Link to comment Share on other sites More sharing options...
bubu Posted November 22, 2008 Report Share Posted November 22, 2008 unix timestamp'u dabū ar time() php funkciju. unix_timestamp() ir MySQL funkcija - to lieto MySQL UPDATE teikumā, kad atjauno informāciju tabulā par lietotāju. Link to comment Share on other sites More sharing options...
NoSound Posted November 22, 2008 Author Report Share Posted November 22, 2008 Jā, paldies - viss sanāca ! Link to comment Share on other sites More sharing options...
Kavacky Posted November 22, 2008 Report Share Posted November 22, 2008 glabā last_login laukā unix_timestamp() un tad salīdzini vai tas atšķirās par 86400 no pašreizējā unix_timestamp();Kļūda! Šajā gadījumā tiks uzrādīts arī tad, ja lietotājs būs ielogojies nākamo 24 stundu laikā! Link to comment Share on other sites More sharing options...
mounkuls Posted November 23, 2008 Report Share Posted November 23, 2008 (edited) Vispār jau ne, to last_login jau pieglabā kad ir last action, bet salīdzina ar current timestamp. apmēram tas pats, kas ierakstot NOW() iekš last_login ņemam SELECT kautkas FROM table WHERE last_login>NOW() - 1 DAYS. Varbūt nekorekti, bet man tā liekas, neesmu mēģinājis. Ja tiek likts akcents uz dienām/datumiem, iepējams ir ka nesanāk normāli, bet tad arī jāpārbauda ir datums, ne laiks kā unix_timestamp Edited November 23, 2008 by mounkuls Link to comment Share on other sites More sharing options...
NoSound Posted November 23, 2008 Author Report Share Posted November 23, 2008 Nu ar to laiku man viss sanāca, bet - cik tagad nospriedu .. vajag pārbaudīt arī datumu, jo man vajag zināt cik katrs cilvēks ir bijis neaktīvs ! Lai viņs ieejot savā profilā pēc 3 dienu pārtraukuma, redzētu to Neaktīvs statusu .. Link to comment Share on other sites More sharing options...
Pentiums Posted November 23, 2008 Report Share Posted November 23, 2008 Fatal error: Call to undefined function unix_timestamp() in C:\wamp\www\date.php on line 3 neredzi kur ir problēma.. Link to comment Share on other sites More sharing options...
bubu Posted November 23, 2008 Report Share Posted November 23, 2008 Pentiums: izlasi tak visu topiku, nevis tikai vienu postu. Viņš jau saprata, kur ir problēma. NoSound: codez tev jau pateica ka to darīt. Selektējot datus no tabulas salīdzini patreizējo laiku ar to laiku, kurš pieseivots pie pēdējās ielogošanās reizes. Link to comment Share on other sites More sharing options...
Kavacky Posted November 23, 2008 Report Share Posted November 23, 2008 Mounkul, tikai ne tad, ja salīdzināšana netīšām tiks veikta ar +1 dienu no šī brīža. Jociņš - spociņš Link to comment Share on other sites More sharing options...
NoSound Posted November 23, 2008 Author Report Share Posted November 23, 2008 bubu : un kas notiks ja salīdzināšu šos 2 laikus ar 3 dienu atstarpi ? Rezultāts - 3 dienas tiek pazaudētas kā nebijušas, jo fiksēts tiek tikai laiks nevis datums ! Un par datumu neko arī neatradu .. Uzgāju vienu mistiski JS kodu, bet tā arī neizpratu kur kam tur sakars .. Link to comment Share on other sites More sharing options...
bubu Posted November 23, 2008 Report Share Posted November 23, 2008 unix_timestamp kā laika jēdziens ietver gan datumu, gan laiku (pulksteni). Dīvaini, ka tu "par datumu neko arī neatradi". Man atlika uzšķirt MySQL manuāli UNIX_TIMESTAMP funkcijai: http://dev.mysql.com/doc/refman/5.0/en/dat..._unix-timestamp un attiecīgi izlasīt: If called with no argument, returns a Unix timestamp (seconds since '1970-01-01 00:00:00' UTC) as an unsigned integer. Acīmredzami, ka tur datums ir iekļauts arī. Ja joprojām neesi pārliecināts, tad lasi šeit: http://en.wikipedia.org/wiki/Unix_timestamp Nesaprotu kā var "neko neatrast"... Link to comment Share on other sites More sharing options...
Recommended Posts