这是给我的OJT项目的。我需要从DATE类型的MySQL数据库中搜索生日。我已经从一月到十二月获得查询。问题是从十二月到一月。
到目前为止,这是我所做的代码:
<?php
require 'connect.php';
?>
<?php
if(isset($_POST['birthday_from']) && isset($_POST['birthday_to'])){
$start_date=$_POST['birthday_from'];
$end_date=$_POST['birthday_to'];
//$s = strtolower($end_date);
$start_year = date('m-d', strtotime($start_date));
$end_year = date('m-d', strtotime($end_date));
$search_year = date('Y', strtotime($start_date));
$search_year2 = date('Y', strtotime($end_date));
$sql=" select * from members where (DATE_FORMAT(`birthday`, '%m-%d') BETWEEN '{$start_year}' AND '{$end_year}') order by DATE_FORMAT(`birthday`, '%m-%d') asc ";
$result = mysql_query($sql);
$num_row = mysql_num_rows($result);
if($num_row >= 1){
echo '<div class="alert alert-info" style="margin:auto;width:900px;"><b><center>BIRTHDAY RESULT</center></b></div>';
while($rows = mysql_fetch_array($result)){
$date = date('Y-m-d')-$rows['birthday'];
echo '<b><span style="margin-left:20px;">Name:</span></b> '.strtoupper($rows['firstname'].' '.$rows['middlename'].' '.$rows['lastname'].' '.$rows['suffix']).'<br/>';
echo '<b><span>Birthday:</span></b> '.$rows['birthday'].'<br/>';
echo '<b><span style="margin-left:30px;">Age: </span></b>'.$date.'<br/><br />';
}
}
}
?>
最佳答案
当开始日期>结束日期时,您不检查情况。发生了。
您将var $ start_year = date('m-d',strtotime($ start_date))命名为,但没有任何Year值。这是不好的做法。
定义和分配后,请勿使用vars search_year,search_year2。
我不明白您想要什么,您可以举几个表中的行为例,并得出想要获得的结果,但是不能吗?
关于php - 如何在MySQL中搜索从12月到1月的生日?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26333088/