我有一个HTML站点,其页面使用PHP代码查询MySQL数据库。 该表包含3列(日期,时间,剩余时间)。 基于当前日期和时间,我希望HTML页面返回并显示“剩余”列中的相应值。

诀窍是我希望该值自动更新(AJAX?),而无需用户刷新页面或单击按钮。

到目前为止,我可以使用的PHP可以根据日期显示“剩余”值,但是我还没有弄清楚如何查询日期和时间,也没有自动刷新。

到目前为止我想通的PHP代码

(注意: quantitytest_config.php仅包含主机名/用户名/密码)

    <?php

include 'quantitytest_config.php';

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
  or die("Unable to connect to MySQL");

//select a database to work with
$selected = mysql_select_db("grace59_countdown",$dbhandle) 
  or die("Could not select countdown");

//execute the SQL query and return records
$result = mysql_query("SELECT remaining FROM quantity WHERE salesdate=CURDATE()");
//fetch tha data from the database
while ($row = mysql_fetch_array($result)) {
   echo "Quantity:".$row{'remaining'}."<br>";
}

//close the connection
mysql_close($dbhandle);
?>

在此先感谢您的帮助。 非常感激。

===============>>#1 票数:2 已采纳

使用jQuery.load可以轻而易举,以下代码片段将调用您的PHP脚本,并每10秒更新一次剩余计数。

setInterval(function(){
    // Assumes the container has the id of count
    // and the php script is called remaining.php
    $("#count").load("remaining.php")
}, 10000);

如果没有jQuery,则必须阅读一些内容,但这并不难

至于其他任何问题,您都已将其嵌入到同一问题中。 您不应该将多个问题合为一体。 每个问题都应显示您尝试过的内容,预期/实际行为,错误消息。 这就是您的问题如何对他人(不仅仅是您自己)有用的方法,这也是Stack Overflow的核心。 目前,您的问题是我不知道该怎么做,所以这不太适合SO。

===============>>#2 票数:1

如前所述,您应该使用AJAX。

基本上,您会不时地调用页面,并检查新结果(如果存在)并将其检索给用户。

您将要调用的页面是一个PHP文件,类似于您发布的页面,该文件将返回AJAX调用的结果。

通话后,结果将呈现给用户。

通常,在AJAX中,GET方法更快,因为它不涉及处理POST字段,并且,因为您仅获取信息,所以我会坚持下去。

这是您要查找的基本语法。 我猜它有点复杂但可以理解的名字。

<script>
setInterval(function(){check_new_stuff();}, 10000);

function check_new_stuff(){
  $.ajax({
    type: "GET",
    url: "url_with_your_php_code.php",
    dataType: 'html',
    data: {name_of_the_parameter_to_be_passed_in_get: value_of_the_parameter_to_be_passed_in_get},

    success: function(html){
             $("#div_to_have_its_html_replaced_with_the_result_from_php_code").html(html);
    },

    error: function(){
    },

    complete: function(){
    }
  });

  setTimeout(function(){check_new_stuff();}, 10000);
}
</script>

(您可以在此处了解更多信息

关于您的时间问题,我没有发现任何问题。 您只需要添加字段并在数据库查询中将时间值传递给它?

(如果您想要当前时间?-尝试猜测您的列名,因为在整个说明中都没有保持相同的表命名法)

$result = mysql_query("SELECT remaining FROM quantity WHERE salesdate=CURDATE() AND salestime=CURTIME()");

(具体时间,由您自己指定?)

$result = mysql_query("SELECT remaining FROM quantity WHERE salesdate=CURDATE() AND salestime='11:15:00'");

  ask by Zander translate from so

未解决问题?本站智能推荐:

关注微信公众号