Помогите пожалуйста если это возможно..
Заранее спасибо...
Спустя 19 минут, 4 секунды (25.08.2010 - 22:44) Rivalryzerg написал(а):
Вот попробуйте
Только параметр $mysql_date должен быть вида гггг-мм-дд, но поправить не сложно.
function get_age($mysql_date)
{
$date = strtotime($mysql_date);
$day = date('j', $date);
$month = date('j', $date);
$year = date('Y', $date);
$current_day = date('j');
$current_month = date('n');
$current_year = date('Y');
if (($current_month >= $month && $current_day >= $day) || ($current_month > $month)) {
return ($current_year - $year);
} else {
return ($current_year - $year - 1);
}
}
Только параметр $mysql_date должен быть вида гггг-мм-дд, но поправить не сложно.
Спустя 9 минут, 19 секунд (25.08.2010 - 22:54) phpguest написал(а):
<? $result = mysql_query("SELECT id,title,description,date,author,view,rating,q_vote FROM data WHERE secret=0 AND cat='$cat' ORDER BY id LIMIT $start, $num",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел</p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<table align='center' class='post'>
<tr>
<td class='post_title'>
<p class='post_name'><a href='view_post.php?id=%s'>%s</a></p>
<p>%s</p>
<p class='post_view'><img src='img/img-listpointer.jpg'> <b>Автор: </b>%s <b>Дата: </b>%s <b>Просмотров:</b> %s Рейтинг: <img src='img/%s.gif'></p>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["description"],$myrow["author"],$myrow["date"],$myrow["view"], $r);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>
куда впихать код что вы дали?
Спустя 23 часа, 14 минут, 13 секунд (26.08.2010 - 22:08) Nord написал(а):
Вариант №2:
$date = new DateTime('24.11.1992');
$now = new DateTime();
$diff = $date->diff($now);
echo $diff->format('%y лет'); // 17 лет
Цитата |
куда впихать код что вы дали? |
Впихать туда, где нужно вывести
P.S. мой вариант, правда, вроде только для PHP >= 5.3
Спустя 6 минут, 56 секунд (26.08.2010 - 22:15) phpguest написал(а):
выше есть код странице, поставьте ваш варианте там где должен быть... ато я попробовал поставить и вообше вся страница на смарку
Спустя 26 минут, 18 секунд (26.08.2010 - 22:41) Nord написал(а):
Я не очень понял, где именно надо выводить у вас дату, но это выглядело бы как-то так:
Но, если от моего варианта у вас начали появляться ошибки, значит, у вас не та версия PHP, используйте вариант Rivalryzerg:
P.S. Циклы с предусловием - это именно то, что в таких случаях нужно
Правка: mysql_fetch_arrayassoc
$result = mysql_query("SELECT id,title,description,date,author,view,rating,q_vote
FROM data
WHERE secret=0 AND cat='$cat'
ORDER BY id LIMIT $start, $num",$db);
if (!$result) die("<p>Запрос на выборку данных из базы не прошел</p>" . mysql_error());
if (!mysql_num_rows($result)) die("<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>");
$now = new DateTime();
while ($myrow = mysql_fetch_assoc($result)){
// Здесь выводим данные
$date = new DateTime($myrow['date']);
$age = $date->diff($now);
echo $age->format('%y лет');
}
Но, если от моего варианта у вас начали появляться ошибки, значит, у вас не та версия PHP, используйте вариант Rivalryzerg:
function get_age($mysql_date){
[...]
}
$result = mysql_query("SELECT id,title,description,date,author,view,rating,q_vote
FROM data
WHERE secret=0 AND cat='$cat'
ORDER BY id LIMIT $start, $num",$db);
if (!$result) die("<p>Запрос на выборку данных из базы не прошел</p>" . mysql_error());
if (!mysql_num_rows($result)) die("<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>");
while ($myrow = mysql_fetch_assoc($result)){
// Здесь выводим данные
echo get_age($myrow['date']) . 'лет';
}
P.S. Циклы с предусловием - это именно то, что в таких случаях нужно
Правка: mysql_fetch_
Спустя 9 минут, 44 секунды (26.08.2010 - 22:51) phpguest написал(а):
Пробовал оба варианта ноль эфекта