Php 如何根据MySQL数据库中的年龄筛选结果
我有一个数据库设置与用户信息,包括姓名,电子邮件,出生日期,性别,网站和其他信息 我正在尝试为用户页面实现筛选结果选项 问题是我不知道如何按年龄过滤,因为我将年龄值存储为出生日期,我有一个php函数从中获取年龄,但我该如何进行过滤 过滤选项为年龄:12-24、25-32、33-56(以年为单位) 我觉得这个怎么样<代码>从user.age=20的用户中选择*我甚至没有年龄栏,我只有出生日期 该筛选器存储在会话变量Php 如何根据MySQL数据库中的年龄筛选结果,php,mysql,Php,Mysql,我有一个数据库设置与用户信息,包括姓名,电子邮件,出生日期,性别,网站和其他信息 我正在尝试为用户页面实现筛选结果选项 问题是我不知道如何按年龄过滤,因为我将年龄值存储为出生日期,我有一个php函数从中获取年龄,但我该如何进行过滤 过滤选项为年龄:12-24、25-32、33-56(以年为单位) 我觉得这个怎么样从user.age=20的用户中选择*我甚至没有年龄栏,我只有出生日期 该筛选器存储在会话变量$\u session['age']=12-24如何从会话和以后的筛选器中获取第一个值(12
$\u session['age']=12-24
如何从会话和以后的筛选器中获取第一个值(12)和最后一个值(24),以便年龄应大于12且小于24
请帮帮我
SELECT(FLOOR((CURDATE()-`birthfield`)/10000))作为`age`从`tablename`中选择`age`SELECT*从DATEDIFF(CURRENT_DATE,dob)>=(12*365.25)和DATEDIFF(CURRENT_DATE,dob)中选择*
$sessArr = array();
$sessArr = explode('-',$_SESSION['age']);
现在在数组$sessArr
中,您在数组$sessArr[0]和$sessArr[1]中都有值。
你可以试试这个,它可能会对你有帮助。应该可以(还没有测试过它)
$_会话['age']=“12-24”
$agroup1=
拆分($_会话['age'],'-')
$min=$agroup1[0]$马克斯=
$agroup1[1]
$query=“从用户中选择*,其中
年份(dob)=年份(curdate())-24”
日历年龄:在2016-02-28
出生的人在2017-02-27
出生时为0岁,在2017-02-28
出生时为1岁。在2016-02-29
出生的人在2017-02-28
出生时为0岁,在2017-03-01
出生时为1岁。(闰年)
MySQL对此的表示是
TIMESTAMPDIFF(YEAR, date_of_birth, current_date)
它生成一个整数,并正确处理截断和闰年。(用365.25除以过去的天数并不一定正确。)这有一点帮助,但你能以任何方式将其写入并显示为MySQL语句吗?如果你在Google中键入“MySQL减去两个日期”,第一个结果将是MySQL手册页面,其中包含用于执行此操作的函数以及许多其他带有日期的内容。20101210-19760306=340904。。不过我只有34岁。。我不知道,我不认为MySQL会将日期转换成整数,然后像那样减去它们,对吗?只是尝试了一下,效果很好。。但是:我需要除以10000,非常好,谢谢。:)
$sessArr = array();
$sessArr = explode('-',$_SESSION['age']);
TIMESTAMPDIFF(YEAR, date_of_birth, current_date)