我会将这个问题分解为段落以便于引用;
我有一个带有按钮的网站,该按钮用数据库中的当前数字加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;
}
&GT;
当用户按下html中的按钮时,它会调用一个包含Ajax的脚本,该脚本引用上面的php脚本。
每次按下该按钮时,此php文件必须从数据库列“click”获取当前“点击”,其中id = 1并加上1并将其插回数据库。
我一直在研究和查看我的代码,我可以得出结论,它与以下内容有关:
$ clicks = $ _POST ['clicks'] + 1;
$ _POST ['clicks']应该是数据库中的当前数字,并加1。
问题: 我是否必须创建一个选择表单才能从数据库中获取当前的点击次数?或者我怎样才能将当前点击加1并将新号码放回数据库,直到下次有人按下按钮?
如果您想加深5个步骤中的任何一个,请告诉我。
答案 0 :(得分:0)
你可以使用:
$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();
}