gpt4 book ai didi

PHP MySQL 按日期查询,递增/递减日期

转载 作者:行者123 更新时间:2023-11-30 00:38:57 26 4
gpt4 key购买 nike

我有一个带有时间表的数据库。即

Class  Start     Day 
Yoga 9:00:00 1,2,3
Golf 13:00:00 2,5,6
etc...

其中星期一 = 1,星期二 = 2, 等等

我目前可以很好地显示今天的事件,并且想添加一种方式来显示昨天(以及前天、前天等...)和明天(以及后天、以及后一天...)

我一直在尝试使用 Javascript 和 ajax(我才刚刚开始学习任何类型的网页设计和语言)。在我看来,这应该是一个非常简单的任务,但我不知道我错过了什么。这是获取今天事件的代码:

<?php
//Create a connection
$con = mysqli_connect(
"*********", //host
"*********", //username
"*********", //password
"*********" //dbname
);

//check connection
if(mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

//check if server is active
if(!mysqli_ping($con)){
printf("Error: %s\n", mysqli_error($con));
}

$result = mysqli_query($con, "
SELECT *
FROM schedules
ORDER BY Start ASC //Start time of event
");

/* print the Current Day in the Format:
Day, Month, Year
*/
echo "<h1 align='center'>".date('l, F j, Y') . "</h1><br>";
//todays date
$current_day = date('N');

echo "<ul data-role='listview' data-inset='true'>";
while($row = mysqli_fetch_array($result))
{
//if the event is on today then print the details
if(strpos($row['Day'], $current_day) !== false){
echo "<li>";

echo "<h1>".$row['Start']." - ".$row['End']."</h1>";
echo "<h2>".$row['Class']."</h2>";
echo "<h2>".$row['Instructor']."</h2>";

echo "</li>";
}
}
echo "</ul>";

//close connection
mysqli_close($con)

最佳答案

更好的解决方案是将数据库中的这些字段分开,而不是在单个字段中存储多个值。但这里有一种方法可以使其适用于您当前的设计。首先,定义昨天和明天变量,注意不要溢出到 0 或 8。我使用三元运算符来保持简洁:

 $yesterday = (($current_day-1)!=0) ? ($current_day-1) : 7;
$tomorrow = (($current_day+1)!=8) ? ($current_day+1) : 1;

然后根据需要更新您的 while block :

while($row = mysqli_fetch_array($result))
{
//if the event is on today then print the details
if(strpos($row['Day'], $current_day) !== false){
echo "<li>";

echo "<h1>".$row['Start']." - ".$row['End']."</h1>";
echo "<h2>".$row['Class']."</h2>";
echo "<h2>".$row['Instructor']."</h2>";

echo "</li>";
}

if(strpos($row['Day'], $yesterday) !== false){
//do stuff
}

if(strpos($row['Day'], $tomorrow) !== false){
//do stuff
}

}
echo "</ul>";

关于PHP MySQL 按日期查询,递增/递减日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21943408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com