tp如何把查询出来的数据在作处理

gz109 2017-08-13 04:34:04
一个表,大概结构是这样的,三个字段
1,姓名 2,部门 ,3,出生年月
我想把出生年月在单独用程序处理,然后显示出年龄,
模板输出只有 volist 来循环



我想后台取出来有对年龄在进行处理,比如后面显示多少岁,我想用下面的代码来处理,怎么实现呢



$birthday="1989-08-14"; //客人生日
$date=date("Y-m-d"); //取当前时间
list($y,$m,$d)=explode("-",$birthday); //按“-”分割生日的日期
list($xy,$xm,$xd)=explode("-", $date); //按“-”分割当前的日期

$age=$xy-$y; //当前年份减去客人出生年份
if($xm>$m || $xm==$m&&$xd>$d)
//判断月份和日期,如果当前日期大于客人出生 日期,年龄加一
{
$age=$age+1;
}

echo $age;

...全文
871 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Just_cl 2017-08-14
  • 打赏
  • 举报
回复
$arr = [
    [
        'partId' => 13,
        'birthday' => '1989-09-06'
    ],
    [
        'partId' => 14,
        'birthday' => '1986-07-05'
    ]
];
function getAge($birthday){
    $date=date("Y-m-d");    //取当前时间
    list($y,$m,$d)=explode("-",$birthday);   //按“-”分割生日的日期
    list($xy,$xm,$xd)=explode("-", $date);   //按“-”分割当前的日期
    $age=$xy-$y;  //当前年份减去客人出生年份
    if($xm>$m || $xm==$m&&$xd>$d)
        //判断月份和日期,如果当前日期大于客人出生       日期,年龄加一
    {
        $age=$age+1;
    }
    return $age;
}

foreach ($arr as &$v){
    $v['age']=getAge($v['birthday']);
}
echo '<pre>';
print_r($arr);die;
处理完数据,前台接收然后展示就行,$arr就是你查询数据库之后的结果集
Just_cl 2017-08-14
  • 打赏
  • 举报
回复
http://blog.csdn.net/nycqwert/article/details/7873807,实在不行直接<?php echo $xxx;?>程序是死的,人是活的
gz109 2017-08-14
  • 打赏
  • 举报
回复
引用 2 楼 Just_cl 的回复:
$arr = [
    [
        'partId' => 13,
        'birthday' => '1989-09-06'
    ],
    [
        'partId' => 14,
        'birthday' => '1986-07-05'
    ]
];
function getAge($birthday){
    $date=date("Y-m-d");    //取当前时间
    list($y,$m,$d)=explode("-",$birthday);   //按“-”分割生日的日期
    list($xy,$xm,$xd)=explode("-", $date);   //按“-”分割当前的日期
    $age=$xy-$y;  //当前年份减去客人出生年份
    if($xm>$m || $xm==$m&&$xd>$d)
        //判断月份和日期,如果当前日期大于客人出生       日期,年龄加一
    {
        $age=$age+1;
    }
    return $age;
}

foreach ($arr as &$v){
    $v['age']=getAge($v['birthday']);
}
echo '<pre>';
print_r($arr);die;
处理完数据,前台接收然后展示就行,$arr就是你查询数据库之后的结果集
我模板遍历的出来的东西怎么获取它的值呢 比如从数据库里面取出来以后我怎么在处理

<volist name="res" id="v">
<tr>
         <td>{$v.id}</td>
         <td>{$v.name}</td>
         <td>{$v.age}</td>   //在模板里面我怎么样把这个值获取出来然后在作处理,比如这个值减去100在加上300
</tr>
</volist>


那一抹bug柔 2017-08-13
  • 打赏
  • 举报
回复
你可以用strtime那个函数把出生者年月日换算成数字。再把今天的日期换成数字。相减除一年的时间就可以了

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧