PHP/HTML/SQL - 搜索特定年龄和性别的数据库
PHP/HTML/SQL - Search database for a specific age and gender
我想在检索数据时为搜索表单提供多个选项,目前我已经找到了针对 1 个特定搜索词的这些内容。
<form action="sRetrieveResponse.php" method="post">
<input type="text" placeholder="Enter Email..." name="sRetrieveEmail">
<input type="submit" value="Retrieve"></form>
上面是html形式,下面是php形式。
if($_POST['sRetrieveEmail'])
$queryRetrieve = mysql_query( "SELECT * FROM staffData WHERE sEmail='".$_POST['sRetrieveEmail']."'" );
然后将其打印到 table 上,我如何才能找到两个搜索词?例如40岁或以上的男性...
其中的另一个问题是,我目前只以日期形式记录生日,如何将此数据更改为年龄以便可以执行搜索词?
抱歉,如果措辞没有意义,我不太确定我之后的事情是否可以完成,因为我对编程还很陌生,任何没有意义的事情请问!我会尝试更深入地澄清它。
谢谢。
评论里的答案快出来了! - 搜索查询现在已排序,但如果用户以这种格式提交他们的生日,我将如何计算出年龄:2015-01-27。
MySQL 或者..
Select * FROM staffData WHERE eEmail='..' OR eGender='..'
如果您想同时匹配这两个条件,请改用 AND,或者您甚至可以将它们组合起来
...WHERE eEmail='..' OR (eGender='..' AND 'eLastName Like '..%);
关于年龄,您可以在select中创建一个年龄字段:
Select eFirstName, TIMESTAMPDIFF(YEAR, eBirthdate, CURDATE()) AS age FROM staffData WHERE TIMESTAMPDIFF(YEAR, eBirthdate, CURDATE()) > '..';
首先将日期转换成年龄运行查询
<?php
//birth date in yyyy-mm-dd format
$dob = "1990-01-01";
//explode the date to get year , month and day
$dob = explode("-", $dob);
//get age from date or birthdate
$current_month = date("m");
$current_day = date("j");
$current_year = date("Y");
$age = $current_year - $dob[0];
if($current_month<$dob[1] || ($current_month==$dob[1] && $current_day<$dob[2])) $age--;
echo "Age is ". $age;
?>
我想在检索数据时为搜索表单提供多个选项,目前我已经找到了针对 1 个特定搜索词的这些内容。
<form action="sRetrieveResponse.php" method="post">
<input type="text" placeholder="Enter Email..." name="sRetrieveEmail">
<input type="submit" value="Retrieve"></form>
上面是html形式,下面是php形式。
if($_POST['sRetrieveEmail'])
$queryRetrieve = mysql_query( "SELECT * FROM staffData WHERE sEmail='".$_POST['sRetrieveEmail']."'" );
然后将其打印到 table 上,我如何才能找到两个搜索词?例如40岁或以上的男性...
其中的另一个问题是,我目前只以日期形式记录生日,如何将此数据更改为年龄以便可以执行搜索词?
抱歉,如果措辞没有意义,我不太确定我之后的事情是否可以完成,因为我对编程还很陌生,任何没有意义的事情请问!我会尝试更深入地澄清它。
谢谢。
评论里的答案快出来了! - 搜索查询现在已排序,但如果用户以这种格式提交他们的生日,我将如何计算出年龄:2015-01-27。
MySQL 或者..
Select * FROM staffData WHERE eEmail='..' OR eGender='..'
如果您想同时匹配这两个条件,请改用 AND,或者您甚至可以将它们组合起来
...WHERE eEmail='..' OR (eGender='..' AND 'eLastName Like '..%);
关于年龄,您可以在select中创建一个年龄字段:
Select eFirstName, TIMESTAMPDIFF(YEAR, eBirthdate, CURDATE()) AS age FROM staffData WHERE TIMESTAMPDIFF(YEAR, eBirthdate, CURDATE()) > '..';
首先将日期转换成年龄运行查询
<?php
//birth date in yyyy-mm-dd format
$dob = "1990-01-01";
//explode the date to get year , month and day
$dob = explode("-", $dob);
//get age from date or birthdate
$current_month = date("m");
$current_day = date("j");
$current_year = date("Y");
$age = $current_year - $dob[0];
if($current_month<$dob[1] || ($current_month==$dob[1] && $current_day<$dob[2])) $age--;
echo "Age is ". $age;
?>