我正在尝试使用PHP和mysql创建一个点击计数器

时间:2018-09-30 07:51:49

标签: php html mysql mysqli phpmyadmin

<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
$db_name = 'somedb';
$conn = mysqli_connect($hostname, $username, $password, $db_name);
if (isset($_POST['abc'])){
    $date_today = date('Y-m-d');
    $somecount=("INSERT INTO sometable (today,somecount) VALUES ('".$date_today."', '') ON DUPLICATE KEY UPDATE somecount=somecount+1");
    mysqli_query($conn, $somecount);
}

?>

<form method="post" action="some.php">
    <input type="submit" name="abc">
</form>

我已经尝试过此代码。有人请帮助我计算用户在按钮上的点击次数或提交输入标签。预先感谢。

2 个答案:

答案 0 :(得分:0)

只需更新此行: 来自

$somecount=("INSERT INTO sometable (today,somecount) VALUES ('".$date_today."', '') ON DUPLICATE KEY UPDATE somecount=somecount+1");

$somecount=("INSERT INTO sometable (today,somecount) VALUES ('".$date_today."', '1') ON DUPLICATE KEY UPDATE somecount=somecount+1");

还要,以确保您没有重定向到当前页面本身执行以下代码的另一页:

<form method="post" action="">
    <input type="submit" name="abc">
</form>

这样做将确保您提交到同一页面。

答案 1 :(得分:0)

我建议避免进行重复键更新,而应使用一些不同的逻辑:

xstep = np.linspace(0, 1, 2)  # array([0., 1.])
ystep = np.linspace(0, 1, 3)  # array([0. , 0.5, 1. ])

result = np.array(xstep.reshape(-1,1) + (1j * ystep))

result

array([[0.+0.j , 0.+0.5j, 0.+1.j ],
       [1.+0.j , 1.+0.5j, 1.+1.j ]])

在这里,我们首先检查表中是否已存在今天的行。 如果,只需简单地增加它否则即可创建一行并将计数值设置为一。

相关问题