powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP+MSQL] Вывод последних действий
2 сообщений из 2, страница 1 из 1
[PHP+MSQL] Вывод последних действий
    #38314540
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая функция, я хочу показывать действия (Например: создалась запись в Mysql) которые были некоторое время назад.
Как и где применить эту функцию?

К примеру:
5 минут назад.
Коля написал что Вася дурак.

Чета я не врублюсь как эту функцию применить, помогите?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
function HumanDate($date) {
    $date = strtotime($date);
    $diff = time() - $date;

    if ($diff < 0) {
      //для прошлого
      $days = ceil($diff / 86400);
    } else {
      //для будущего
      $days = floor($diff / 86400);
    }
    $hd = '';
    if ($days == 0) {
//сегодня
      $hd = 'сегодня в ' . date('H:i', $date);
    } else {
      if ($days > 0) {
//прошлое
        switch ($days) {
          case 1:
            $hd = 'вчера в ' . date('H:i', $date);
            break;
          case 2:
            $hd = 'позавчера в ' . date('H:i', $date);
            break;
        }
      } else {
//будущее
        switch ($days) {
          case -1:
            $hd = 'завтра в ' . date('H:i', $date);
            break;
          case -2:
            $hd = 'послезавтра в ' . date('H:i', $date);
            break;
          case -3:
            $hd = 'через три дня';
            break;
        }
      }
    }
    if ($hd == '') {
      $hd = date('d.m.Y H:i', $date);
    }
    return '<acronym title="' . date('d.m.Y H:i', $date) . ', ' . self::$weekdays[date('N', $date)] . '">' . $hd . '</acronym>';
  }

  function HumanDatePrecise($date) {
    $r = false;
    $a = preg_split("/[:\.\s-]+/", $date);
    $d = time() - strtotime($date);
    if ($d > 0) {
      if ($d < 3600) {
//минут назад
        switch (floor($d / 60)) {
          case 0:
          case 1:
            return "<acronym title='$date'>только что</acronym>";
            break;
          case 2:
            return "<acronym title='$date'>только что</acronym>";
            break;
          case 3:
            return "<acronym title='$date'>три минуты назад</acronym>";
            break;
          case 4:
            return "<acronym title='$date'>четыре минуты назад</acronym>";
            break;
          case 5:
            return "<acronym title='$date'>пять минут минуты назад</acronym>";
            break;
          default:
            return "<acronym title='$date'>" . floor($d / 60) . ' мин. назад</acronym>';
            break;
        };
      } elseif ($d < 18000) {
//часов назад
        switch (floor($d / 3600)) {
          case 1:
            return "<acronym title='$date'>час назад</acronym>";
            break;
          case 2:
            return "<acronym title='$date'>два часа назад</acronym>";
            break;
          case 3:
            return "<acronym title='$date'>три часа назад</acronym>";
            break;
          case 4:
            return "<acronym title='$date'>четыре часа назад</acronym>";
            break;
        };
      } elseif ($d < 172800) {
//сегодня
//2011-07-14 16:20:44
// 0    1  2  3  4  5
        if (date('d') == $a[2]) {
          return "<acronym title='$date'>сегодня в {$a[3]}:{$a[4]}</acronym>";
        }
        if (date('d', time() - 86400) == $a[2]) {
          return "<acronym title='$date'>вчера в {$a[3]}:{$a[4]}</acronym>";
        }
        if (date('d', time() - 172800) == $a[2]) {
          return "<acronym title='$date'>позавчера в {$a[3]}:{$a[4]}</acronym>";
        }
      }
    } else {
////////////////////////////////////////////////////////////////////////////////////////
// В будущем   <editor-fold defaultstate="collapsed" desc="В будущем">
      $d *= - 1;
      if ($d < 3600) {
//минут назад
        switch (floor($d / 60)) {
          case 0:
          case 1:
            return "<acronym title='$date'>сейчас</acronym>";
            break;
          case 2:
            return "<acronym title='$date'>через две минуты</acronym>";
            break;
          case 3:
            return "<acronym title='$date'>через три минуты</acronym>";
            break;
          case 4:
            return "<acronym title='$date'>через четыре минуты</acronym>";
            break;
          case 5:
            return "<acronym title='$date'>через пять минут</acronym>";
            break;
          default:
            return "<acronym title='$date'>через " . floor($d / 60) . ' мин.</acronym>';
            break;
        };
      } elseif ($d < 18000) {
//часов назад
        switch (floor($d / 3600)) {
          case 1:
            return "<acronym title='$date'>через час</acronym>";
            break;
          case 2:
            return "<acronym title='$date'>через два часа</acronym>";
            break;
          case 3:
            return "<acronym title='$date'>через три часа</acronym>";
            break;
          case 4:
            return "<acronym title='$date'>через четыре часа</acronym>";
            break;
        };
      } elseif ($d < 172800) {
//сегодня
//2011-07-14 16:20:44
// 0    1  2  3  4  5
        if (date('d') == $a[2]) {
          return "<acronym title='$date'>сегодня в {$a[3]}:{$a[4]}</acronym>";
        }
        if (date('d', time() - 86400) == $a[2]) {
          return "<acronym title='$date'>завтра в {$a[3]}:{$a[4]}</acronym>";
        }
        if (date('d', time() - 172800) == $a[2]) {
          return "<acronym title='$date'>послезавтра в {$a[3]}:{$a[4]}</acronym>";
        }
      }
      $d *= - 1;
//, В будущем   </editor-fold>
////////////////////////////////////////////////////////////////////////////////////////.
    }

    $r = "{$a[2]}.{$a[1]}";
    if ($a[0] != date('Y') OR $d > 0) {
      $r .= '.' . $a[0];
    }
    $r .= " {$a[3]}:{$a[4]}";
    $date.= ', ' . self::$weekdays[(int) date('N', strtotime($date))];
    return "<acronym title='$date'>$r</acronym>";
  } 
...
Рейтинг: 0 / 0
[PHP+MSQL] Вывод последних действий
    #38314542
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
    if ($last_access >= strtotime("today"))
        echo "Сегодня";
    else if ($last_access >= strtotime("yesterday"))
        echo "Вчера";
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP+MSQL] Вывод последних действий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]