Jump to content
php.lv forumi

datums no db, salidzinasana...


Recommended Posts

Posted

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

Posted (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 by marcis
Posted
$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? :)

Posted

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;
}

Posted (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 by Pentiums

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...