Спустя 9 минут, 38 секунд (21.02.2011 - 03:02) two написал(а):
m4a1fox
В бд пишешь в секундах время получаемое с помощью функции
В бд пишешь в секундах время получаемое с помощью функции
echo time();А при выборке пишешь так:
echo time() - $time; // Это будет та разница в секундах. В переменной $time содержится запись из бд.
Спустя 5 минут, 9 секунд (21.02.2011 - 03:08) m4a1fox написал(а):
two
Таакк.... я в БД и так заношу время. Значит - вывожу time() - и отнимаю $time(из БД) - я вас правильно понял?
Таакк.... я в БД и так заношу время. Значит - вывожу time() - и отнимаю $time(из БД) - я вас правильно понял?
Спустя 1 минута, 4 секунды (21.02.2011 - 03:09) two написал(а):
m4a1fox
Да
Да
Спустя 4 минуты, 23 секунды (21.02.2011 - 03:13) m4a1fox написал(а):
ха. Не интересно. функция time() - считает только секунды(
Спустя 2 минуты, 6 секунд (21.02.2011 - 03:15) Invis1ble написал(а):
ну а кто тебе мешает перевести секунды в другой формат?
Спустя 5 минут, 6 секунд (21.02.2011 - 03:20) two написал(а):
m4a1fox
round((time() - $time)/60); // минуты
round((time() - $time)/3600); // часы
Спустя 2 минуты, 48 секунд (21.02.2011 - 03:23) m4a1fox написал(а):
two
ааааааа об этом я и не подумал.)
ааааааа об этом я и не подумал.)
Спустя 7 минут, 47 секунд (21.02.2011 - 03:31) m4a1fox написал(а):
И так вот к чему пришел на этот момент. Из БД вытаскиваю время добавления.
поправьте если что!?
echo time($ind['time']);
echo '<br />';
echo round(time() - time($ind['time'])/3600)
Спустя 3 минуты, 55 секунд (21.02.2011 - 03:35) m4a1fox написал(а):
Получается что я не могу применить time к тому что уже вытаскиваю из БД?!
Спустя 9 минут, 49 секунд (21.02.2011 - 03:45) m4a1fox написал(а):
я тут применил функция microtime. Как думаете получится?
Спустя 2 минуты, 49 секунд (21.02.2011 - 03:47) m4a1fox написал(а):
Нет! Вариант не прокатил. Буду думать но уже завтра
Спустя 41 минута, 42 секунды (21.02.2011 - 04:29) two написал(а):
m4a1fox
echo $ind['time'];// это секунды из бд
echo round(time() - $ind['time'] / 3600;// не нужно вставлять в функцию time().
Спустя 5 минут, 47 секунд (21.02.2011 - 04:35) inpost написал(а):
date("Y-m-d H:i:s"); сравнение, вычитание. Можно date_format +0, тогда время будет в юниксе, и его сравнивать, а потом переводить.
Спустя 7 часов, 29 минут, 25 секунд (21.02.2011 - 12:04) m4a1fox написал(а):
inpost
Также попробовал. Сначала просто определяю время на сервере. date("H:i:s"). Затем из БД достаю время поста - ind['time']. Далее отнимаю date("H:i:s") - $ind['time']. но что то не понятное выводит. Может подскажете где ошибка.
Также попробовал. Сначала просто определяю время на сервере. date("H:i:s"). Затем из БД достаю время поста - ind['time']. Далее отнимаю date("H:i:s") - $ind['time']. но что то не понятное выводит. Может подскажете где ошибка.
Спустя 2 минуты, 48 секунд (21.02.2011 - 12:07) Snus написал(а):
А зачем время time() в БД держать? Вполне сойдет и DATETIME, а потом переводим его в секунды strtotime();
Спустя 7 минут, 51 секунда (21.02.2011 - 12:15) m4a1fox написал(а):
Snus
Вот так делаю.
где $ind['date'] - это datetime.
Вот так делаю.
$diff = strtotime($ind['date']);
echo '<br />';
echo round($diff - time())/3600;
где $ind['date'] - это datetime.
Спустя 2 минуты, 15 секунд (21.02.2011 - 12:17) Snus написал(а):
m4a1fox
Помогло?
Помогло?
Спустя 10 минут, 28 секунд (21.02.2011 - 12:28) m4a1fox написал(а):
Snus
Да. Но только вот такой вывод получился.
Получаю время в секундах, насколько понимаю. А как мне это перевести в часы - вот так /3600?
Да. Но только вот такой вывод получился.
$diff = strtotime($ind['date']);
echo '<br />';
echo time();
echo '<br />';
echo (time() - $diff);
Получаю время в секундах, насколько понимаю. А как мне это перевести в часы - вот так /3600?
Спустя 4 минуты, 57 секунд (21.02.2011 - 12:33) Snus написал(а):
m4a1fox
Тебе же уже написали. Или вариант two не помогает?
Тебе же уже написали. Или вариант two не помогает?
Спустя 6 минут, 11 секунд (21.02.2011 - 12:39) m4a1fox написал(а):
Snus
Не... Все заработало. Спасибо за подсказку.
Не... Все заработало. Спасибо за подсказку.
Спустя 3 минуты, 9 секунд (21.02.2011 - 12:42) m4a1fox написал(а):
А вот еще уточнение. Как ограничить. Ну то есть если уже больше часа назад, то не выводим. А если меньше - то показать. Вот код
$diff = strtotime($ind['date']);
if($dif < 60)
{
echo round((time() - $diff)/60);
}
Спустя 1 минута, 38 секунд (21.02.2011 - 12:44) m4a1fox написал(а):
Извините. Все работает.
Спустя 18 секунд (21.02.2011 - 12:44) Snus написал(а):
m4a1fox
$diff = strtotime($ind['date']);
$min = round( (time() - $diff) / 60 );
if($min > 0) echo $min;
Спустя 16 минут, 6 секунд (21.02.2011 - 13:00) m4a1fox написал(а):
Snus
Хм.... А почему больше нуля? Если мне не больше 60 минут. Как только переваливает за 60, надпись исчезает.
Хм.... А почему больше нуля? Если мне не больше 60 минут. Как только переваливает за 60, надпись исчезает.
Спустя 1 минута, 20 секунд (21.02.2011 - 13:01) Snus написал(а):
m4a1fox
Как только переваливает за 60 - это уже 0 минут и 1 час
делай проверку дальше на 24 часа и будут тебе сутки.
Как только переваливает за 60 - это уже 0 минут и 1 час
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 1 минута, 30 секунд (21.02.2011 - 13:03) m4a1fox написал(а):
Так мне и надо только минуты. То есть и не часы и не сутки. А только минуты. А их - 60. Вот скрипт
$diff = strtotime($ind['date']);
$minus = round((time() - $diff)/60);
if($minus < 60)
{
$echo_minus = '<span id="time_minus">'.$minus.' минут назад</span>';
}
else
{
$echo_minus = '';
}
Спустя 3 минуты, 51 секунда (21.02.2011 - 13:07) Snus написал(а):
m4a1fox
$diff = strtotime($ind['date']);
$minus = round((time() - $diff)/60);
if($minus < 60) echo '<span id="time_minus">'.$minus.' минут назад</span>';
Спустя 8 минут, 47 секунд (21.02.2011 - 13:15) m4a1fox написал(а):
Snus
Да. Так короче получается. Спасибо.
Да. Так короче получается. Спасибо.
Спустя 11 минут, 26 секунд (21.02.2011 - 13:27) m4a1fox написал(а):
Вопрос не по теме. Как заменить встречающуюся комбинацию символов. А точнее <p> </p> и символ </p>.?
Спустя 1 минута, 29 секунд (21.02.2011 - 13:28) Snus написал(а):
m4a1fox
str_replace('<p> </p>', '#', $value);
Спустя 3 минуты, 23 секунды (21.02.2011 - 13:32) m4a1fox написал(а):
Вопрос снимается. Сделал через 2 переменные. Но наверно же можно сделать как то так [тут символы] - просто где-то видел.
Спустя 1 минута, 37 секунд (21.02.2011 - 13:33) m4a1fox написал(а):
Snus
Тогда заменяется <p> </p>. А символ </p> не заменяется. Сделал по другому -
Тогда заменяется <p> </p>. А символ </p> не заменяется. Сделал по другому -
$desc_1 = str_replace("<p> </p>", '', $d['description']);
$desc = str_replace("</p>", '', $desc_1);
Спустя 6 минут, 38 секунд (21.02.2011 - 13:40) Snus написал(а):
m4a1fox
$what = array('<p> </p>', '</p>');
$text = str_replace($what, '', $text);
Спустя 37 минут, 55 секунд (21.02.2011 - 14:18) m4a1fox написал(а):
Snus
Интересный подход. Все в массив засунуть... Но только скрипт вообще ничего не выводит между тегами(
Интересный подход. Все в массив засунуть... Но только скрипт вообще ничего не выводит между тегами(
Спустя 1 минута, 51 секунда (21.02.2011 - 14:20) m4a1fox написал(а):
Snus
Извините. Все выводит. Сам ошибся.
Извините. Все выводит. Сам ошибся.
Спустя 14 минут, 41 секунда (21.02.2011 - 14:34) m4a1fox написал(а):
Извините. Но еще не по теме. У меня в БД заносится дата в виде Y:m:d. Как это перевернуть? То есть сделать d:m:Y?
Спустя 25 минут, 58 секунд (21.02.2011 - 15:00) m4a1fox написал(а):
Разобрался