Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用日期确定*新发布*状态何时到期_Php_Css - Fatal编程技术网

Php 使用日期确定*新发布*状态何时到期

Php 使用日期确定*新发布*状态何时到期,php,css,Php,Css,我有一个漫画网站,我每周都会给它添加新的漫画。我想一个新发布的漫画,以保持突出显示,直到3天后,张贴日期 所以,这里是之前的: 以下是我们想要的: 我在考虑以下逻辑: 数据库中的日期当前设置为日期时间:0000-00-00:00:00 PHP:使用日期=$row['date']url参数获取漫画的日期: echo '<ul>'; $imageCounter = 0; while ($imageCounter <

我有一个漫画网站,我每周都会给它添加新的漫画。我想一个新发布的漫画,以保持突出显示,直到3天后,张贴日期

所以,这里是之前的:

以下是我们想要的:

我在考虑以下逻辑:

数据库中的日期当前设置为日期时间:0000-00-00:00:00

PHP:使用日期=$row['date']url参数获取漫画的日期:

        echo '<ul>';
            $imageCounter = 0;
            while ($imageCounter < $imagesPerPage && ($row = $catResult->fetch_assoc())) {                  
                echo '<li>';
                    echo    '<span class="comics"><a href=".?action=viewimage&site='.$site. '&id=' . $row['id'] .'">
                            <img src="./scripts/thumber.php?date='. $row['date'] . '&img=.' . $thumbpath.$row['thumb'] . '&mw=220&mh=220"/></a> 
                            <br /><br /> ' . $row['description'] . '</span>';                               
                echo '</li>';
                $imageCounter++;
            }
    echo '</ul>';

现在,我想以某种方式设置
datetime2=(datetime1+3天)

然后比较

if ($datetime1 < $datetime2) {
   set "comics" span class in CSS file to something else that would somehow highlight the newest post...
}
else {
   set "comics" span class in CSS file to default
}
if($datetime1<$datetime2){
将CSS文件中的“comics”span类设置为以某种方式突出显示最新帖子的其他内容。。。
}
否则{
将CSS文件中的“漫画”span类设置为默认值
}
有没有更简单的方法来完成我想做的事情

编辑--------------------------------

我现在试着用3天的时间来突出最新的漫画。。。不幸的是,如果条件满足,我正努力想办法只突出最新的漫画,而不是所有的漫画

    //GET date  
        $desc = (isset($_GET['description']) ? ($_GET['description']) : null);  


    $row = $catResult->fetch_assoc();

    $current_date = new DateTime;
    echo "Current Date: " . $current_date->format('Y-m-d H:i:s');

    echo "<br />";

    $comic_date = new DateTime($row['date']);
    echo "Comic Date: " . $comic_date->format('Y-m-d H:i:s');

    $comic_date->modify('3 day');


    //DISPLAY IMAGES TO CORRECT PAGE FROM DATABASE  
    echo '<ul>';
        $imageCounter = 0;
        while (($row['date'] < $current_date) && ($imageCounter < $imagesPerPage) && ($row = $catResult->fetch_assoc())) {
                echo '<li>';                
                    echo    '<span class="comics"><a href=".?action=viewimage&site='.$site. '&id=' . $row['id'] .'">
                                <img src="./scripts/thumber.php?img=.' . $thumbpath.$row['thumb'] . '&mw=220&mh=220"/></a> 
                                <br /><br /> ' . $row['description'] . $row['date'] . '</span>';                                
                    $imageCounter++;
                echo '</li>';

            }   

        if ($row['date'] >= $current_date) {
                echo '<li>';                
                    echo    '<span class="newcomics"><a href=".?action=viewimage&site='.$site. '&id=' . $row['id'] .'">
                                <img src="./scripts/thumber.php?img=.' . $thumbpath.$row['thumb'] . '&mw=220&mh=220"/></a> 
                                <br /><br /> ' . $row['description'] . $row['date'] . '</span>';                                
                    $imageCounter++;
                echo '</li>';
            }
    echo '</ul>';   
//获取日期
$desc=(isset($\u GET['description'])?($\u GET['description']):null);
$row=$catResult->fetch_assoc();
$current_date=新的日期时间;
回显“当前日期:”$当前日期->格式('Y-m-d H:i:s');
回声“
”; $comic_date=新日期时间($row['date']); 回声“喜剧日期:”$漫画日期->格式('Y-m-d H:i:s'); $comic_date->modify('3天'); //显示图像以更正数据库中的页面 回声“
    ”; $imageCounter=0; 而($row['date']<$current_date)&($imageCounter<$imagesPerPage)&($row=$catResult->fetch_assoc()){ 回音“
  • ”; 回声'

    。$row['description'].$row['date'.'; $imageCounter++; 回音“
  • ”; } 如果($row['date']>=$current\u date){ 回音“
  • ”; 回声'

    。$row['description'].$row['date'.'; $imageCounter++; 回音“
  • ”; } 回声“
”;
一个快速解决方案是,只需将发布日期保存在数据库中,然后使用一些javascript代码将计算全部移动到客户端。
您可以通过设置诸如data posted=“…””之类的属性,将发布日期公开给JavaScriptpt客户端。一个快速的解决方案是只需将发布日期保存在db上,然后使用一些javascript代码将计算全部移到客户端。 您可以通过设置一个属性,如data posted=“…”。

“向JavaScriptp客户端公开发布的日期。现在,我想以某种方式设置datetime2=(datetime1+3天)。”

使用
strotime()
将日期转换为秒。然后你可以随心所欲地玩它

例如:

$expiry_date = strtotime($time_stamp) + 259200; // 259200 = 3 days in seconds
然后像这样检查日期:

if($expiry_date < date("Y-m-d", time()) {
if($expiration\u date
“现在,我想以某种方式设置datetime2=(datetime1+3天)…”

使用
strotime()
将日期转换为秒。然后您可以随意使用它

例如:

$expiry_date = strtotime($time_stamp) + 259200; // 259200 = 3 days in seconds
然后像这样检查日期:

if($expiry_date < date("Y-m-d", time()) {
if($expiration\u date
比较日期非常容易

如何修改和比较日期的示例:

# PHP >= 5.4
$row['date'] = '2013-01-03 16:15:14';
$d = (new DateTime($row['date']))->modify('3 day');
echo $d >= (new DateTime) ? 'NEW' : 'OLD';

# PHP < 5.4
$row['date'] = '2013-01-03 16:15:14';
$n = new DateTime;
$d = new DateTime($row['date']);
$d->modify('3 day');
echo $d >= $n ? 'NEW' : 'OLD';

比较日期很容易

如何修改和比较日期的示例:

# PHP >= 5.4
$row['date'] = '2013-01-03 16:15:14';
$d = (new DateTime($row['date']))->modify('3 day');
echo $d >= (new DateTime) ? 'NEW' : 'OLD';

# PHP < 5.4
$row['date'] = '2013-01-03 16:15:14';
$n = new DateTime;
$d = new DateTime($row['date']);
$d->modify('3 day');
echo $d >= $n ? 'NEW' : 'OLD';

为了完整起见,我想指出,在SQL查询中也可以这样做,例如:

if($expiry_date < date("Y-m-d", time()) {
SELECT*,(date>=date\u SUB(现在(),间隔3天))原样
漫画
按日期说明订购

()

为了完整起见,我想指出,在SQL查询中也可以这样做,例如:

if($expiry_date < date("Y-m-d", time()) {
SELECT*,(date>=date\u SUB(现在(),间隔3天))原样
漫画
按日期说明订购

()

我认为这太多了。你需要的是一个cron作业,它检查数据库中的标志(如:is_new),并在1和0之间切换值。@mamdouhalramadan我仍然需要比较日期,对吗?当然,但我建议这就是为什么它是一个注释而不是答案:)通过这种方式,你可以比较今天的日期-漫画创作日期,然后检查答案是否大于三天。我认为这是一个太多的过程。你需要的是一个检查标志的cron作业(比如:is_new)在数据库中,并在1和0之间切换值。@mamdouhalramadan我仍然需要以某种方式比较日期,对吗?当然,但我建议这就是为什么它是注释而不是答案:)通过这种方式,你可以比较今天的日期-漫画创作日期,并检查答案是否大于三天。我不认为在这种简单的情况下使用Javascript有什么意义。所需要的只是添加边框的小CSS代码。而且更倾向于使用
更简单的
方式。@barius是的,你是对的,我只是说使用JavascriptCalccuration不用于渲染。当然,css是渲染突出显示的方式。我建议使用js而不是服务器端作业或类似的方式。在这种简单的情况下,我不认为使用Javascript有什么意义。所需的一切都是添加边框的小css代码。更喜欢使用
更简单的
方式。@barius是的,你是正确的t、 我只是说使用javascript进行计算,而不是渲染。当然,css是渲染突出显示的方式。我建议使用js而不是服务器端作业或类似的方式。从
NOW()中减去3天更有效
比在
日期
列中添加3天更有效,因为
日期>=…
这样的条件可以使用索引,而
日期添加(日期,…>=…
不能(或