[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP вывод возвраста через Print
franko
Нашел код вывода количества лет. Работает.
<?php $d=$myrow[b_day]; 
$m=$myrow[b_month];
$y=$myrow[b_year];

if($m>date('m')||$m==date('m')&&$d<date('d'))echo(date('Y')-$y-1);
else echo(date('Y')-$y);
?>


Загвоздка возникла с выводом date('Y')-$y количества лет через Print.
Может кто-нибудь знает?

//если страничка чужая, то выводим данные
print <<<HERE

<table >
<tr><td><strong>Возраст</strong></td>
<td >

ВОТ ЗДЕСЬ нужно возвраст

</td>





Спустя 1 час, 6 минут, 25 секунд (21.01.2011 - 08:56) Michael написал(а):
Вот это:
$d=$myrow[b_day]; 

не с ошибкой ли? (обычно так: $myrow['b_day'])

Цитата
Загвоздка возникла с выводом date('Y')-$y количества лет через Print.

Какая загвоздка?

Спустя 1 час, 19 минут, 13 секунд (21.01.2011 - 10:15) franko написал(а):
print <<<HERE

<table >
<tr><td><strong>Возраст</strong></td>

<td >
Здесь я хочу вывести возвраст.
Как преобразовать нижнюю строку для вывода возвраста?

if($m>date('m')||$m==date('m')&&$d<date('d'))echo(date('Y')-$y-1);
else echo(date('Y')-$y);

</td>

Спустя 44 минуты, 54 секунды (21.01.2011 - 11:00) Michael написал(а):
Если используешь именно вложенный документ(<<<), то это как обычная строка.
Дату посчитай заранее $d = date('Y')-$y; и в ту строку просто вставь эту переменную $d.

Спустя 14 минут, 51 секунда (21.01.2011 - 11:15) franko написал(а):
Пародокс однако.
Заранее посчитал $d
<?php $d=$myrow[b_day]; 
$m=$myrow[b_month];
$y=$myrow[b_year];

if($m>date('m')||$m==date('m')&&$d<date('d'))echo(date('Y')-$y-1);
else echo(date('Y')-$y);
$d = date('Y')-$y;
echo $d;
?>

Но как странно, почему $d больше на + 1 чем echo(date('Y')-$y)

Спустя 3 минуты, 26 секунд (21.01.2011 - 11:19) Michael написал(а):
А у тебя напечаталось наверное не echo(date('Y')-$y) , а echo(date('Y')-$y-1) - как раз на 1-у меньше.

Спустя 1 минута, 12 секунд (21.01.2011 - 11:20) Michael написал(а):

if (($m>date('m')) ||
((
$m==date('m')) && ($d<date('d'))
)
$dat = date('Y')-$y-1;
else $dat = date('Y')-$y;
print <<<HERE
$dat
HERE;


- со скобками разберись, я накидал как

Спустя 14 минут, 32 секунды (21.01.2011 - 11:34) franko написал(а):
Цитата
А у тебя напечаталось наверное не echo(date('Y')-$y) , а echo(date('Y')-$y-1) - как раз на 1-у меньше.

ДА там на единицу больше а не меньше

Спустя 5 минут, 16 секунд (21.01.2011 - 11:40) Michael написал(а):
Цитата (franko @ 21.01.2011 - 10:34)
Цитата
А у тебя напечаталось наверное не echo(date('Y')-$y) , а echo(date('Y')-$y-1) - как раз на 1-у меньше.

ДА там на единицу больше а не меньше

ты о чем вообще говоришь? Я пытаюсь понять в чем ты запутался - не то смотришь.
echo(date('Y')-$y);
$d = date('Y')-$y;
echo $d;

- ну так проверь, а то что то ...

Спустя 7 минут, 2 секунды (21.01.2011 - 11:47) franko написал(а):
выводит все равно на единицу больше.
Если возраст 22 то:
2223

Спустя 13 минут, 50 секунд (21.01.2011 - 12:00) inpost написал(а):
franko
Загляни ко мне в подписи.

Спустя 13 минут, 52 секунды (21.01.2011 - 12:14) franko написал(а):
Лучше подскажи smile.gif

Спустя 5 часов, 6 секунд (21.01.2011 - 17:14) franko написал(а):
Проверяем возраст.
<?php $d=1; 
$m=2;
$y=1987;

if($m>date('m')||$m==date('m')&&$d<date('d'))echo(date('Y')-$y-1);
else echo(date('Y')-$y);
$d = date('Y')-$y;
echo $d;
?>

Выводится 2324
В $d заносится верный возраст 23 года.
Но echo $d выводит 24 года. И никак не пойму почему echo увеличивает возраст на единицу



Спустя 13 минут, 11 секунд (21.01.2011 - 17:28) inpost написал(а):
У тебя внутри проверки неправильно написано. Там выводится эта строчка: echo(date('Y')-$y-1);

Спустя 57 минут, 10 секунд (21.01.2011 - 18:25) Вадим написал(а):
Понятно.
Но как все же закинуть вывод возраста
<?php $d=$myrow[b_day]; 
$m=$myrow[b_month];
$y=$myrow[b_year];
if($m>date('m')||$m==date('m')&&$d<date('d'))echo(date('Y')-$y-1);
else echo(date('Y')-$y);
?>

между тэгами <td>... </td>

print <<<HERE
<table'>
<tr><td><strong>Возраст</strong></td>
<td>
[b]...

</td>[/b]



Спустя 4 часа, 1 минута, 47 секунд (21.01.2011 - 22:27) franko написал(а):
при регистрации вводилась форма
<SELECT name="b_month"><OPTION value=1 selected>Январь</OPTION><OPTION value=2>Февраль</OPTION>
<
OPTION value=3>Март</OPTION><OPTION value=4>Апрель</OPTION><OPTION value=5>Май</OPTION>
<
OPTION value=6>Июнь</OPTION><OPTION value=7>Июль</OPTION><OPTION value=8>Август</OPTION>
<
OPTION value=9>Сентябрь</OPTION><OPTION value=10>Октябрь</OPTION><OPTION value=11>Ноябрь</OPTION><OPTION value=12>Декабрь</OPTION></SELECT>

Теперь же пользователь может изменить месяц.
Для удобства необходимо выводить выбранный месяц, указанный при регистрации. Но вот не задача - выбирает первую строчку - ЯНВАРЬ

<form action='update_user.php' method='post'>
<
select name='b_month'>
<
option if ('b_month'=='1') { echo 'selected=selected'; } value='1'>Январь</option> else
<option if ('b_month'=='2') { echo 'selected=selected'; } value='2'>Февраль</option>
<
option if ('b_month'=='3') { echo 'selected=selected'; } value='3'>Март</option>
<
option if ('b_month'=='4') { echo 'selected=selected'; } value='4'>Апрель</option>
<
option if ('b_month'=='5') { echo 'selected=selected'; } value='5'>Май</option>
<
option if ('b_month'=='6') { echo 'selected=selected'; } value='6'>Июнь</option>
<
option if ('b_month'=='7') { echo 'selected=selected'; } value='7'>Июль</option>
<
option if ('b_month'=='8') { echo 'selected=selected'; } value='8'>Август</option>
<
option if ('b_month'=='9') { echo 'selected=selected'; } value='9'>Сентябрь</option>
<
option if ('b_month'=='10') { echo 'selected=selected'; } value='10'>Октябрь</option>
<
option if ('b_month'=='11') { echo 'selected=selected'; } value='11'>Ноябрь</option>
<
option if ('b_month'=='12') { echo 'selected=selected'; } value='12'>Декабрь</option>
</
select></form>

Если видите ошибку, поправьте, пожалуйста.

Спустя 8 минут, 32 секунды (21.01.2011 - 22:35) inpost написал(а):
Что за бурда с PHP + HTML ? Их надо отдельно, а выводить через echo.

Спустя 14 часов, 19 минут, 36 секунд (22.01.2011 - 12:55) franko написал(а):
не знаю как. может подскажешь как вывести?

Спустя 4 часа, 33 минуты, 6 секунд (22.01.2011 - 17:28) inpost написал(а):
echo 'aaa'; - вывелся текст ааа.

aaa<?php echo 'bbb'; ?> - вывелся текст аааbbb. ,Где ааа - через HTML, а bbb через PHP
Быстрый ответ:

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