张地雷 2021-05-09 21:21 采纳率: 92.3%
浏览 47
已采纳

PHP算出剩余时间输出

查询出商品id为3的数据并算出剩余时间输出

    image.png

    (1)在index.php页面,使用 PDO 方式,链接操作 MySQL 数据库。

    (2)查询出商品id[g_id]为3的所有数据 

    (3)用PDO对象的fetch()方法从结果集中获取数据赋值给变量$result

    (4)将$result数组内 商品名称赋值给变量$g_name

    (5)计算出该商品剩余秒杀时间分别赋予变量 $days(天),$hours(小时) ,

             $mins(分钟),$secs (秒)

    (6)输出内容:

              "<p>{$g_name},剩余{$days}天{$hours}小时{$mins}分钟{$secs}秒</p>";

               例:1000元秒杀格力空调,剩余0天10小时30分钟30秒

 

         用户表[seckill]说明:

                id                          秒id,

                g_id                      商品id,                    

                g_name                商品名称,                      

                num                      库存数量,                        

                start_time             秒杀开启时间,

                end_time              秒杀结束时间,

                create_time          创建时间,

      注:可能用到的函数 ,intval() 函数用于获取变量的整数值。

我的代码:

<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <meta charset="UTF-8">
    <style type="text/css">

    p{
        width: 400px;
        height: 50px;
        line-height: 50px;
        font-size: 18px;
        background: #E91E63;
        text-align: center;
        color: #fff;
    }
    </style>
  </head>
  <body>

<?php 
/**********************************************************************
 * 输出的内容:
 * 
 * (1) "<p>{$g_name},剩余{$days}天{$hours}小时{$mins}分钟{$secs}秒</p>"
 * 
 ***********************************************************************/
 
//$url,$user,$pwd是自动生成的数据库相关信息,不能修改
//连接数据库时不需要写端口号
$url = "mysql:host=mysql;dbname=database_25523_19_91552";//数据库ip和库名
$user = "25523_19_91552";//数据库用户
$pwd = "f33ba6ab0a7982b51052f2a520070009";//数据库密码
    
$sql="select id[g_id]=3 from seckill";
$conn=new PDO($url,$user,$pwd);
$result=$conn->query($sql)->fetch();

  
  $secs = t % 60;//秒
  $mins = Math.floor(t/60);//分
  $hours = Math.floor(minute/60);//时
  $mins = mins>=60?mins%60:mins;//分钟不得大于60


 

echo "<p>{$g_name},剩余{$days}天{$hours}小时{$mins}分钟{$secs}秒</p>";

?>
  </body>
</html>

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2021-05-09 22:18
    关注

    人家秒杀是计算结束时间和当前时间差多少,你这个题是计算结束时间和开始 ,坑。。

    <!DOCTYPE html>
    <html>
      <head>
        <title></title>
        <meta charset="UTF-8">
        <style type="text/css">
    
        p{
            width: 400px;
            height: 50px;
            line-height: 50px;
            font-size: 18px;
            background: #E91E63;
            text-align: center;
            color: #fff;
        }
        </style>
      </head>
      <body>
    
    <?php 
    /**********************************************************************
     * 输出的内容:
     * 
     * (1) "<p>{$g_name},剩余{$days}天{$hours}小时{$mins}分钟{$secs}秒</p>"
     * 
     ***********************************************************************/
    
    
    
    //$url,$user,$pwd是自动生成的数据库相关信息,不能修改
    //连接数据库时不需要写端口号
    $url = "mysql:host=mysql;dbname=database_25523_19_91552";//数据库ip和库名
    $user = "25523_19_91552";//数据库用户
    $pwd = "f33ba6ab0a7982b51052f2a520070009";//数据库密码
        
    $sql="select * from seckill where g_id=3";
    $conn=new PDO($url,$user,$pwd);
    $result=$conn->query($sql)->fetch();
    $g_name=$result['g_name'];
    
    //date_default_timezone_set('Asia/Shanghai'); //设置为东八区上海时间
    $now = time();
    $d=$result['end_time'];
    $secs=$result['end_time']-$result['start_time'];;
    
    
    $days=intval($secs/3600/24);
    
    $secs-=$days*3600*24;
    
    $hours=intval($secs/3600);
    $secs-=$hours*3600;
    
    $mins=intval($secs/60);
    $secs-=$mins*60;
    
    
     
    
    echo "<p>{$g_name},剩余{$days}天{$hours}小时{$mins}分钟{$secs}秒</p>";
    ?> 
      </body>
    </html>
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题