为了便于参考,我将这个问题分成几个段落;
-
我有一个网站,有一个按钮,加上从数据库1当前的数字。
-
我现在已经使用了一个"更新"的形式,以便在数据库中加上数字。我使用了预处理语句:
<?php require_once('connectvars.php'); $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (mysqli_connect_errno()) { echo 'Cannot connect.' . mysqli_connect_error(); exit(); } if ($stmt = $mysqli->prepare('UPDATE `javascriptbutton` SET `clicks`=? WHERE `id`=?')) { $stmt->bind_param('ii', $clicks, $id); $clicks = $_POST['clicks'] + 1; $id = 1; $stmt->execute(); $stmt->close(); } else { echo 'Woops, something went wrong.: ' . $mysqli->error; }
?>
-
当用户按下html中的按钮时,它调用一个包含Ajax的脚本,该脚本引用了上面的php脚本。
-
每次按下按钮时,这个php文件必须从数据库列"点击"中获取当前的"点击",其中id=1,并加上1并将其插入数据库。
-
我一直在研究和查看我的代码,我可以得出结论,它与:
$clicks = $_POST['clicks'] + 1;
$_POST['clicks']应该是数据库中的当前数字,并加上1。
问题:我是否必须创建一个选择表单,以获得当前的点击数据库?或者我如何加上当前的点击与1,并把新的数字回数据库,直到下一次一个人按下按钮?
如果这5个步骤中有任何你想深化的,请告诉我。
你可以直接使用:
$mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?")
编辑完整代码:
if ($mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?")) {
$stmt->bind_param('i', $id);
$id = 1;
$stmt->execute();
$stmt->close();
}