Php 根据日期(月和年)显示结果

Php 根据日期(月和年)显示结果,php,Php,我在数据库中加载了数据,每行都有一个日期列 目前我把所有的结果都放到一个页面上,但我想把它分成几个月。 我的页面上有一些按钮,单击这些按钮时,应该只显示相应的结果,例如,当按钮2012年1月单击时,将显示该月的所有结果 下面是我试图实现的一个例子: ================================================================================= <?php $con = mysql_connect("localhost",

我在数据库中加载了数据,每行都有一个日期列

目前我把所有的结果都放到一个页面上,但我想把它分成几个月。 我的页面上有一些按钮,单击这些按钮时,应该只显示相应的结果,例如,当按钮2012年1月单击时,将显示该月的所有结果

下面是我试图实现的一个例子:

=================================================================================

<?php
$con = mysql_connect("localhost", "username", "pass");
if (!$con)
{
 die('Could not connect: ' . mysql_error());
}

mysql_select_db("database", $con);
$result = mysql_query("SELECT * FROM tablename"); 

$num_rows = mysql_num_rows($result);

echo "<table border='0' cellspacing='0'>";

while($row = mysql_fetch_array($result))
{
$i++;
if($i%2==0) $class="cell1"; else $class="cell2";
echo "<tr class='$class'>";
echo "<td>".$row["firstname"]." ".$row["lastname"]." thinks that it will happen on      
<span class=datecolor>".date('l jS F Y',strtotime($row['date']))."</span></td>";
 echo "</tr>";
 }  

  echo "</table>";

  mysql_close($con);
  ?> 

要解决第一个问题(一次显示一个月),最好的办法是让数据库为您完成所有工作。现在,您的SQL SELECT语句如下所示

SELECT * FROM tablename
您想添加一个
WHERE
子句,该子句将此查询限制为仅显示某个月的行…类似于

SELECT * FROM tablename WHERE date BETWEEN '05/01/2011' AND '05/31/2011'
$month = isset($_GET['month']) ? intval($_GET['month']) : 0;
$year = isset($_GET['year']) ? intval($_GET['year']) : 0;

if( empty($month) ){
    $month = date('n');
}
if( empty($year) ){
    $year = date('Y');
}

$query = mysql_query('SELECT * FROM table_name WHERE MONTH(date_field)="'.$month.'" AND YEAR(date_field)='.$year.'"');
// or maybe use BETWEEN syntax

while( false!==($row=mysql_fetch_assoc($query)) ){
    // do something...
}

您可能需要针对特定的数据库引擎或设置调整此设置;你可以在网上找到更多信息。

要解决你的第一个问题(一次显示一个月),最好的办法是让你的数据库为你完成所有工作。现在,您的SQL SELECT语句如下所示

SELECT * FROM tablename
您想添加一个
WHERE
子句,该子句将此查询限制为仅显示某个月的行…类似于

SELECT * FROM tablename WHERE date BETWEEN '05/01/2011' AND '05/31/2011'
$month = isset($_GET['month']) ? intval($_GET['month']) : 0;
$year = isset($_GET['year']) ? intval($_GET['year']) : 0;

if( empty($month) ){
    $month = date('n');
}
if( empty($year) ){
    $year = date('Y');
}

$query = mysql_query('SELECT * FROM table_name WHERE MONTH(date_field)="'.$month.'" AND YEAR(date_field)='.$year.'"');
// or maybe use BETWEEN syntax

while( false!==($row=mysql_fetch_assoc($query)) ){
    // do something...
}

您可能需要针对特定的数据库引擎或设置调整此设置;您可以在web上找到更多信息。

您可以使用指定月份的查询字符串将所有按钮链接到页面(例如:www.mysite.com/mypage?month=septer)。然后从查询字符串中获取月份,并仅选择该月份的行

见:


您可以将所有按钮链接到带有指定月份的查询字符串的页面(例如:www.mysite.com/mypage?month=九月)。然后从查询字符串中获取月份,并仅选择该月份的行

见:

类似于

SELECT * FROM tablename WHERE date BETWEEN '05/01/2011' AND '05/31/2011'
$month = isset($_GET['month']) ? intval($_GET['month']) : 0;
$year = isset($_GET['year']) ? intval($_GET['year']) : 0;

if( empty($month) ){
    $month = date('n');
}
if( empty($year) ){
    $year = date('Y');
}

$query = mysql_query('SELECT * FROM table_name WHERE MONTH(date_field)="'.$month.'" AND YEAR(date_field)='.$year.'"');
// or maybe use BETWEEN syntax

while( false!==($row=mysql_fetch_assoc($query)) ){
    // do something...
}
年份是必需的,因为一个月数可能属于不同的年份(03-2010、03-2011等),因此,当您的数据涵盖不同年份的日期时,您无法确定您需要的数据只有月份

SELECT * FROM tablename WHERE date BETWEEN '05/01/2011' AND '05/31/2011'
$month = isset($_GET['month']) ? intval($_GET['month']) : 0;
$year = isset($_GET['year']) ? intval($_GET['year']) : 0;

if( empty($month) ){
    $month = date('n');
}
if( empty($year) ){
    $year = date('Y');
}

$query = mysql_query('SELECT * FROM table_name WHERE MONTH(date_field)="'.$month.'" AND YEAR(date_field)='.$year.'"');
// or maybe use BETWEEN syntax

while( false!==($row=mysql_fetch_assoc($query)) ){
    // do something...
}

年份是必需的,因为一个月的数字可能属于不同的年份(03-2010、03-2011等),因此当您的数据涵盖不同年份的日期时,你无法确定你只需要一个月就需要什么数据

如果我要使用它,我将如何链接按钮?我仍然有点不确定这将如何放置在我的代码中,以及按钮将如何链接,这是你的选择。如果您喜欢将年和月作为数字传递给PHP,您可以使用地址链接,如
mypage.PHP?month=3&year=2011
。当然,您必须将MySSQL连接初始化添加到我的代码和循环内的表输出中。如果您不知道如何从html页面将变量传递到PHP,请查看以下内容:好的,是否有地方可以向您发送一小段代码,以查看我是否正确执行了此操作?msn或电子邮件???如果我使用它,我将如何链接按钮?我仍然有点不确定这将如何放置在我的代码中,以及按钮将如何链接,这是你的选择。如果您喜欢将年和月作为数字传递给PHP,您可以使用地址链接,如
mypage.PHP?month=3&year=2011
。当然,您必须将MySSQL连接初始化添加到我的代码和循环内的表输出中。如果您不知道如何从html页面将变量传递到PHP,请查看以下内容:好的,是否有地方可以向您发送一小段代码,以查看我是否正确执行了此操作?msn还是电子邮件???