SaMay Posted March 13, 2009 Report Share Posted March 13, 2009 Tā tad iekš datu bāzes tiek veikts ieraksts kurā norāda laiku. Tālāk attiecīgajā vietā tas laiks tiek salīdzināts ar šīs dienas datumu. if($kkas["laiks"] == date("j n Y")) Tā tad jautājums vai tā vispār var salīdzināt? Un kā varētu norādīt, ja tas apgalvojums ir paties, lai ar $kkas["laiks"] attiecīgajā vietā parāda Šodien. Ja viena diena jau pagājusi tad Vakar utt.. Ceru ka kāds sapratīs.. :D Quote Link to comment Share on other sites More sharing options...
marcis Posted March 13, 2009 Report Share Posted March 13, 2009 (edited) Kaut kā šādi varētu mēģināt SELECT DATEDIFF(CURDATE(),datums) FROM `tabula` Tālāk skaties, cik liela ir atšķirība un attiecīgi izvadi "vakar", "aizvakar", "pirms 3 dienām", "pirms nedēļas", etc. Edited March 13, 2009 by marcis Quote Link to comment Share on other sites More sharing options...
SaMay Posted March 15, 2009 Author Report Share Posted March 15, 2009 $result = mysql_query("SELECT DATEDIFF(CURDATE(), laiks) AS laiksa, " ."DATE_FORMAT(laiks, '%j %n %Y') AS laiksa FROM statistika WHERE userid=".$userid." ");$row = mysql_fetch_assoc($result); $laiks = $row['laiksa']; if ($laiks == 0) { $str = 'Šodien'; } elseif ($laiks == 1) { $str = 'Vakar'; } else { $str = $laiks . 'dienas atpakaļ'; } Man sanāca kaut kas šāds. Bet diemžēl visu laiku tiek parādīts Šodien. Varētu pastāstīt kas nav izdarīts pareizi? :) Quote Link to comment Share on other sites More sharing options...
marcis Posted March 15, 2009 Report Share Posted March 15, 2009 Paskaties vēlreiz sevis sastādīto kveriju. $row['laiksa'] tev ir DATE_FORMAT(laiks, '%j %n %Y'), nevis DATEDIFF() Quote Link to comment Share on other sites More sharing options...
SaMay Posted March 15, 2009 Author Report Share Posted March 15, 2009 nu it kā samainīju, bet vienalga nekā. Visu laiku Šodiena ir :) Quote Link to comment Share on other sites More sharing options...
marcis Posted March 16, 2009 Report Share Posted March 16, 2009 Bet tu esi pārliecināts, ka tur patiešām nav jābūt šodienai? Quote Link to comment Share on other sites More sharing options...
SaMay Posted March 16, 2009 Author Report Share Posted March 16, 2009 tur nav jābūt ;) ieraksts tika veikts 12.03.09. tā tad 15.03 nepavisam nevajadzēja būt Šodien :) Quote Link to comment Share on other sites More sharing options...
werd Posted March 16, 2009 Report Share Posted March 16, 2009 Es daru šādi: function nameDate($date){ $day = 0; $timesstr = strtotime($date); $difference = (strftime("%j")+strftime("%Y")*365)-(strftime("%j",$timesstr)+strftime("%Y",$timesstr)*365); if ($difference == 2) $day = 'Aizvakar'; if ($difference == 1) $day = 'Vakar'; if ($difference == 0) $day = 'Šodien'; $clock_time = explode ('-',date("Y-d-m-H:i",$timesstr)); if($day) return $day.', '.$clock_time[3]; else return $date; } Quote Link to comment Share on other sites More sharing options...
Pentiums Posted March 16, 2009 Report Share Posted March 16, 2009 (edited) function dienas($str){ // Y-m-d H:i list($d, $l) = explode(' ', $str); list($stundas, $minutes) = explode(':', $l); if($stundas >= 12 && $stundas <= 17) { $kad = 'Šodien'; } if($stundas >= 18 && $stundas <= 23) { $kad = 'Šovakar'; } if($stundas >= 00 && $stundas <= 04) { $kad = 'Šonakt'; } if($stundas >= 05 && $stundas <= 11) { $kad = 'Šorīt'; } $replace=array( date('Y-m-d', time()-60*60*24)=>'Vakardien', date('Y-m-d', time()-60*60*48)=>'Aizvakar', date('Y-m-d')=>$kad ); $str=strtr($str,$replace); return $str; } Edited March 16, 2009 by Pentiums Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.