gpt4 book ai didi

javascript - 将秒表 JavaScript 中的时间存储在 MySQL 数据库中

转载 作者:行者123 更新时间:2023-11-29 13:12:21 25 4
gpt4 key购买 nike

我正在使用 JavaScript 来启动和停止计时器(秒表)。我想要的是,当用户按下停止按钮时,数据(那一刻的时间)将存储在我的MySQL数据库中。那可能吗?如果是,我需要添加什么作为代码? (我只是 PHP 的初学者,如果有人可以添加一个小解释那就太好了,这样我就可以从中学习)

以下脚本是我的工作 JavaScript 代码:

var clsStopwatch = function () {

var startAt = 0;
var lapTime = 0;

var now = function () {
return (new Date()).getTime();
};

this.start = function () {
startAt = startAt ? startAt : now();
};

this.stop = function () {
lapTime = startAt ? lapTime + now() - startAt : lapTime;
startAt = 0;
};

this.time = function () {
return lapTime + (startAt ? now() - startAt : 0);
};
};

var x = new clsStopwatch();
var $time;
var clocktimer;

function pad(num, size) {
var s = "0000" + num;
return s.substr(s.length - size);
}

function formatTime(time) {
var h = m = s = ms = 0;
var newTime = '';

m = Math.floor(time / (60 * 1000));
time = time % (60 * 1000);
s = Math.floor(time / 1000);
ms = time % 1000;

newTime = pad(m, 2) + ':' + pad(s, 2) + ':' + pad(ms, 2);
return newTime;
}

function show() {
$time = document.getElementById('time');
update();
}

function update() {
$time.innerHTML = formatTime(x.time());
}

function start() {
clocktimer = setInterval("update()", 1);
x.start();
}

function stop() {
x.stop();
clearInterval(clocktimer);
}

接下来是我用来在数据库中存储数据的 PHP 代码,它位于单独的页面上。

define('DB_NAME', 'dbname');
define('DB_USER', 'user');
define('DB_PASSWORD', 'pass');
define('DB_HOST', 'host');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) { die('could not connect: ' . mysql_error()); }

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) { die('can not use ' . DB_NAME . ': ' . mysql_error()); }

$sql="INSERT INTO game (name, company, email, time) VALUES
('".$_POST['name']."','".$_POST['company']."','".$_POST['email']."','".$_POST['time']."')";

if (!mysql_query($sql)) { die('Error: ' . mysql_error()); }

mysql_close();

和我的 HTML 提交表单:

<body onload="show();">

<form action="highscore.php" method="post"/>

name:<br/>
<input type="text" name="name"/><br/>

company:<br/>
<input type="text" name="company"/><br/>

email:<br/>
<input type="text" name="email"/><br/>

Time: <span id="time"></span><br/>
<!--<input type="text" name-"time">-->
<input type="button" value="start" onclick="start();">
<input type="submit" value="stop" onclick="stop();">
<br/><br/>

</form>

</body>

也许一种解决方案是将数据发布到隐藏的输入字段中,但我仍然在努力让该字段正常工作。

最佳答案

试试这个:

function stop() {
x.stop();
document.getElementById('counter').value = formatTime(x.time());
clearInterval(clocktimer);
}

在您的表格上:

<input type="hidden" value="" id="counter" name="counter" />

关于javascript - 将秒表 JavaScript 中的时间存储在 MySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912511/

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