SaMay Posted March 13, 2009 Report 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
marcis Posted March 13, 2009 Report 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
SaMay Posted March 15, 2009 Author Report 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
marcis Posted March 15, 2009 Report 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
SaMay Posted March 15, 2009 Author Report Posted March 15, 2009 nu it kā samainīju, bet vienalga nekā. Visu laiku Šodiena ir :) Quote
marcis Posted March 16, 2009 Report Posted March 16, 2009 Bet tu esi pārliecināts, ka tur patiešām nav jābūt šodienai? Quote
SaMay Posted March 16, 2009 Author Report 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
werd Posted March 16, 2009 Report 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
Pentiums Posted March 16, 2009 Report 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
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.