本文介绍了使用PHP和Javascript进行多次倒计时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我目前遇到问题但不确定如何解决。我是php和javascript编码的新手,如果有更简单的方法,请纠正我。 我的问题是我想要倒计时计时器在mysql数据库中为多个数据工作。我已经制作了一个成功的倒计时时间函数,只能使用php中的if语句处理一个数据,但是当我尝试使用php中的while语句使用多个数据时,它不起作用。这是我的PHP代码。 // 今天的日期 $ today = time(); // 数据库事件的日期和时间 $ sql = SELECT * FROM post; $ result = mysqli_query($ conn,$ sql); while ($ row = mysqli_fetch_assoc($ result)){ $ title = $ row [' title']; $ cname = $ row [' cname ]; $ team = $ row [' 团队]; $ description = $ row [' description ]; $ endtime = $ row [' endtime ]; echo < TR>中; echo < td width =' 16%'>的标题< / TD GT&;; echo < td width =' 16%> $标题< / TD GT&;; echo < / tr>< ; TR>中; echo < td width =' 16%'> 客户名称:< / td>; echo < td width =' 16%> $ CNAME< / TD>中; echo < / tr>< ; TR>中; echo < td width =' 16%'>的小组:< / TD GT&;; echo < td width =' 16%> $团队< / TD GT&;; echo < / tr>< ; TR>中; echo < td width =' 16%'> 说明< / TD GT&;; echo < td width =' 16%> $描述< / TD GT&;; echo < / tr>< ; TR>中; echo < td width =' 16%'> 结束时间:< / td>; echo < td width =' 16%> $结束时间< / TD>中; echo < / tr>< ; TR>中; echo < / BR> ; echo < / BR> ; } $ conn-> close(); 以下是我的javascript假设要倒计时 var today = new 日期(); var DD = today.getDate(); var MM = today.getMonth()+ 1; // 1月为0! var YYYY = today.getFullYear(); // 让我们获得两个日期的差异 var _DateFromDBProgEndDate = ' <?php echo $ endtime; ?>'; var ProgEndTime = new 日期(_ DateFromDBProgEndDate); var TodayTime = new 日期(); var differenceTravel = ProgEndTime.getTime() - TodayTime.getTime(); var seconds = 数学 .floor((differenceTravel)/( 1000 )); // //////////////////// ////////// var SecDiffFromToday = seconds; var seconds = SecDiffFromToday; function pad(n){ // 实用程序函数将数字填充为2位数: return (' 0' + n).substr(-2); } function timer(){ var todaySeconds = 数学 .floor( new 日期()。getTime()/ 1000 ); // 首先在数组中收集html var html = []; // 跟踪是否还有计数器尚未归零: var allDone = true ; // 查看日期列表: endDatesInSeconds.forEach( function (endDateSeconds){ var totalSeconds = endDateSeconds - todaySeconds; var days = 数学 .floor(totalSeconds / 24/60/60); var seconds = Math .floor(totalSeconds - days * 86400); var hours = 数学 .floor(秒/ 3600); 秒= 数学 .floor(秒 - 小时* 3600); var minutes = 数学 .floor (秒/ 60); 秒=秒% 60 ; // 添加html的一部分 html.push( totalSeconds< = 0 ?' 项目时间已完成' :天数+ : + pad(小时) )+ : + pad(分钟)+ : + pad(seconds)); // 当至少一个计数器未完成时,我们还没有完成: allDone = allDone&& totalSeconds< = 0 ; }); // 现在将html放在文档中: document .getElementById(' countdown')。innerHTML = html .join(' < br />'); if (allDone){ clearInterval(countdownTimer); } } var countdownTimer = setInterval(' timer()', 1000 ); < script> javascript通过从php获取值来运行倒计时(var _DateFromDBProgEndDate ='';)解决方案 今天 = time(); // 数据库事件的日期和时间 sql = SELECT * FROM post; result = mysqli_query( I am currently stuck on a problem and not sure how to solve it. I am new to php and javascript coding so do please correct me if there is an easier way to do this.My problem is that I am trying to get a countdown timer working for multiple data in mysql database. I have already made a successful countdown time function that only works with one data using the if statement in php, but when I try to do it with multiple data using the while statement in php it doesn't work.here is my php code.//TODAY'S DATE$today = time();//FETCHES DATE AND TIME FOR THE EVENT FROM DATABASE$sql = "SELECT * FROM post";$result = mysqli_query($conn, $sql);while ($row = mysqli_fetch_assoc($result)) { $title = $row['title']; $cname = $row['cname']; $team = $row['team']; $description = $row['description']; $endtime = $row['endtime']; echo "<tr>"; echo "<td width='16%'>Title:</td>"; echo "<td width='16%'>$title</td>"; echo "</tr><tr>"; echo "<td width='16%'>Client name:</td>"; echo "<td width='16%'>$cname</td>"; echo "</tr><tr>"; echo "<td width='16%'>Team:</td>"; echo "<td width='16%'>$team</td>"; echo "</tr><tr>"; echo "<td width='16%'>Description:</td>"; echo "<td width='16%'>$description</td>"; echo "</tr><tr>"; echo "<td width='16%'>End time:</td>"; echo "<td width='16%'>$endtime</td>"; echo "</tr><tr>"; echo"</BR>"; echo"</BR>";}$conn->close();below is my javascript that suppose to run the count down var today = new Date();var DD = today.getDate();var MM = today.getMonth()+1; //January is 0!var YYYY = today.getFullYear();//let get the Difference in Sec btw the two datesvar _DateFromDBProgEndDate = '<?php echo $endtime; ?>';var ProgEndTime = new Date(_DateFromDBProgEndDate);var TodayTime = new Date();var differenceTravel = ProgEndTime.getTime()- TodayTime.getTime() ;var seconds = Math.floor((differenceTravel) / (1000));////////////////////////////////var SecDiffFromToday = seconds;var seconds = SecDiffFromToday;function pad(n) { // utility function to pad a number to 2 digits: return ('0' + n).substr(-2); }function timer() { var todaySeconds = Math.floor(new Date().getTime() / 1000); // collect the html first in an array var html = []; // keep track whether there are still counters not yet zero: var allDone = true; // go through the list of dates: endDatesInSeconds.forEach(function (endDateSeconds) { var totalSeconds = endDateSeconds - todaySeconds; var days = Math.floor(totalSeconds/24/60/60); var seconds = Math.floor(totalSeconds - days*86400); var hours = Math.floor(seconds/3600); seconds = Math.floor(seconds - hours*3600); var minutes = Math.floor(seconds/60); seconds = seconds % 60; // add a part of html html.push( totalSeconds <= 0 ? 'project time Completed' : days + ":" + pad(hours) + ":" + pad(minutes) + ":" + pad(seconds)); // when at least one counter is not complete, we are not done: allDone = allDone && totalSeconds <= 0; }); // now put the html in the document: document.getElementById('countdown').innerHTML = html.join('<br/>'); if (allDone) { clearInterval(countdownTimer); }}var countdownTimer = setInterval('timer()', 1000);<script>the javascript run the countdown by getting it value from the php (var _DateFromDBProgEndDate = '';) 解决方案 today = time();//FETCHES DATE AND TIME FOR THE EVENT FROM DATABASEsql = "SELECT * FROM post";result = mysqli_query( 这篇关于使用PHP和Javascript进行多次倒计时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
09-23 19:38