[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод возвраста из БД
phpguest
Привет, можете помочь пожалуйста... например я ввожу в бд 24.11.1992 можно ли ка кто сделать вывод чтобы на сайте не показывало 24.11.1992 а чтобы показывала 17 Лет... ну чтобы это было связанно с реальным временем и чтобы выводилось количество лет...

Помогите пожалуйста если это возможно..
Заранее спасибо...



Спустя 19 минут, 4 секунды (25.08.2010 - 22:44) Rivalryzerg написал(а):
Вот попробуйте

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 написал(а):
Я не очень понял, где именно надо выводить у вас дату, но это выглядело бы как-то так:

$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_arrayassoc

Спустя 9 минут, 44 секунды (26.08.2010 - 22:51) phpguest написал(а):
Пробовал оба варианта ноль эфекта
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.