来自不同表的上一年记录

时间:2014-05-09 10:22:27

标签: php mysql function

我已将学生数据库存储在表student中。会话结束后,我将数据库移动到不同的表alumni。我有一个表格,用于查询那些我选择会话/年份的学生。对于当前会话,我查询数据库没有问题。但是为了从同一形式的校友查询前几年的学生数据库,我不知道我将如何查询。我刚刚使用了以下代码,但此代码仅限于前一年,并未覆盖整个过去几年。请帮助我,因为我是新手。

 $regd=$_GET['regd'];
 $yr=$_GET['Year'];

 $pyr=date("Y")-1;//Current Year minus one equals to Previous year.
 if($yr==$pyr){
 $query_pic = "SELECT * FROM alumni WHERE regd='$regd' and Year='$yr'";
 }else{
  $query_pic = "SELECT * FROM student WHERE regd='$regd' and Year='$yr'";
 }

现在我想动态选择存储在alumni表中的所有过去几年的学生数据库。

2 个答案:

答案 0 :(得分:1)

试试这个:

 $regd=$_GET['regd'];
 $yr=$_GET['Year'];

 $pyr=date("Y")-1;//Current Year minus one equals to Previous year.
 if($yr==$pyr){
 $query_pic = "SELECT * FROM alumni WHERE regd='$regd' and year(Year)<='$yr'";
 }else{
  $query_pic = "SELECT * FROM student WHERE regd='$regd' and Year='$yr'";
 }

答案 1 :(得分:1)

如果您的意思是提交年度值为2014的表格,则应显示2014年校友年龄等于或等于2014年的所有学生,然后尝试:

$regd=$_GET['regd'];

$yr=$_GET['Year'];

$query_pic = "SELECT * FROM alumni WHERE regd='$regd' and Year<=$yr";

如果您不想包含当前年份,请删除=符号

修改

当您对两个表使用相同的表单时,您可以继续使用以下条件:

$regd=$_GET['regd'];

$yr=$_GET['Year'];
$pyr=date("Y")-1;//Current Year minus one equals to Previous year.
 if($yr==$pyr){
 $query_pic = "SELECT * FROM alumni WHERE regd='$regd' and Year='$yr'";
 }else{
 $query_pic = "SELECT * FROM alumni WHERE regd='$regd' and Year<=$yr";
 }

所以现在如果你选择2014年,学生表的结果将被返回,否则校友的结果将少于或等于所选择的年份。