在同样使用php(php日历)的html代码中,href链接指向哪里?
我正在尝试采用一种html代码,将绘制没有事件的日历的代码转换为在日历上显示事件的代码。据我所知,该代码构建了$weeks数组,该数组稍后将出现在用于绘制表的代码中。如果在屏幕上按下<或>,日历将切换往回和往回的月份。因此,我的想法是,只要按下在同样使用php(php日历)的html代码中,href链接指向哪里?,php,html,web,calendar,Php,Html,Web,Calendar,我正在尝试采用一种html代码,将绘制没有事件的日历的代码转换为在日历上显示事件的代码。据我所知,该代码构建了$weeks数组,该数组稍后将出现在用于绘制表的代码中。如果在屏幕上按下,日历将切换往回和往回的月份。因此,我的想法是,只要按下,就会重构$weeks数组,代码就会重新绘制日历。 代码中a-tag中的do href指向按下一次。按下)后,代码是否会跳转到$prev($next)行?代码来自以下网站。我也在下面发布了代码 我在日历上显示事件的想法是读取数据库中提取的事件,然后使用年、月和日
PHP日历
.集装箱{
字体系列:“无衬线”,无衬线;
边缘顶部:80px;
}
h3{
边缘底部:30px;
}
th{
高度:30px;
文本对齐:居中;
}
运输署{
高度:100px;
}
.今天{
背景:橙色;
}
第(1)类的第n次,第(1)类的第n次{
颜色:红色;
}
第(7)类的第n次,第(7)类的第n次{
颜色:蓝色;
}
s
M
T
W
T
F
s
首先:
if (isset($_GET['ym'])) {
$ym = $_GET['ym'];
} else {
// This month
$ym = date('Y-m');
}
$prev = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)-1, 1, date('Y', $timestamp)));
$next = date('Y-m', mktime(0, 0, 0, date('m', $timestamp)+1, 1, date('Y', $timestamp)));
您正在创建日期Y-m,但需要Ym格式
第二:
您正在为您的月份计算创建一种非常复杂的计算方法。
你应该看看,然后
您可以创建一个简单的概述:
<?php
if(isset($_GET['ym'])){
$start = DateTime::createFromFormat('Y-m-d',$date.'-1');
}else{
$start = new DateTime();
$start->setDate($start->format('Y'),$start->format('m'),1);
}
$start->setTime(00, 00);
$end = clone $start;
$end->setDate($end->format('Y'),$end->format('m'),$end->format('t'))->setTime(23, 59);
$prev = clone $start;
$prev->modify("-1 month");
$next = clone $end;
$next->modify("+1 day");
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($start,$interval,$end);
?>
然后您可以使用:
<a href="?ym=<?php echo $prev->format('Y-m');?>"><</a>
//AND
<a href="?ym=<?php echo $next->format('Y-m');?>">></a>
//及
对于循环:
<?php
foreach($period as $day){
echo $day->format('Y-m-d');
}
?>
我不知道你的问题是什么。如果您只想知道
中的链接指向何处,可以查看href属性:它们指向当前页面,并且ym
查询参数设置为$prev
或$next
的值。这就是您在第6行中的代码检查的内容,以确定要显示的月份(即查询参数是通过URL传递到网页的选项。例如:http://example.com/test.php?something=this&somethingElse=that
。?
将URL与参数分开,&
将一个参数与另一个参数分开。在PHP中,可以使用$\u GET
读取这些查询参数。在本例中,$\u GET['something']
将是“this”,而$\u GET['somethingElse']
将是“that”。在您的脚本中,$prev
是前一个月(例如“2020-10”),因此谢谢rickdenhaan,正在处理您的评论
<?php
foreach($period as $day){
echo $day->format('Y-m-d');
}
?>