我想更新数据库中的值。
以下是我在 index.php 代码中添加为您的帐户添加积分的按钮的部分:
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content"><div class="points-add">
<div class="banner-wrap">
<a href="#" type="submit" class="btn" name="addpoints">Add 10 points</a>
</div>
</div>
</div>
以下是我添加按钮功能并在 functions.php 中添加点的部分:
if (isset($_POST['addpoints'])) {
mysql_query("UPDATE users SET points += '10' WHERE 1");
}
我试图找到一个解决方案而且我找不到合适的解决方案。 谢谢你的帮助。
答案 0 :(得分:1)
您的网页是否有任何错误?
我建议不要使用<a>
标记提交,更好的解决方案:
<form >
<input type="submit" class="btn" name="addpoints">
</form>
我相信你的SQL的Where声明存在问题:
WHERE 1
您没有指定列。它应该类似于points = points+10 Where userID=1
答案 1 :(得分:1)
@marakusa我不知道你要用你向我们展示的这段代码想要完成什么,但如果我理解了什么,是你想要更新数据库中的用户点,我会告诉你我是怎么做的会以一种简单的方式解决它。
首先,如果您不注意使用javascript(ajax),我就不知道为什么要使用标签。所以我把它改成了常规的HTML表单,就像@bistrovs建议的那样
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content">
<div class="points-add">
<div class="banner-wrap">
<form method="POST" action="">
<button type="submit" class="btn" name="addpoints">
Add 10 points
</button>
</form>
</div>
</div>
</div>
</li>
</ul>
</div>
然后在我包含在表单所在页面的functions.php文件中,我通过运行此sql查询来更新用户点:
if(isset($_POST['addpoints']) {
$query = "UPDATE users SET points = points + 10 WHERE user_id = '".$userid."'";
mysql_query($query) or die(mysql_error());
}
我希望这对你有用
数据库结构
-- Base de données : `demo`
-- Structure de la table `users`
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(255) NOT NULL,
`lastname` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`points` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
-- Contenu de la table `users`
INSERT INTO `users` (`id`, `firstname`, `lastname`, `email`, `points`) VALUES
(1, 'John', 'Doe', 'john@doe.com', 0),
(2, 'Jane', 'Doe', 'jane@doe.com', 0);
<强>的functions.php 强>
<?php
$link = mysqli_connect("localhost", "root", "", "demo");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
?>
<强>的index.php 强>
<?php
include 'functions.php';
if(isset($_POST['addpoints'])) {
$query = "UPDATE users SET points = points + 10 WHERE id = 1";
$result = mysqli_query($link, $query);
if ($result) {
echo "user points updated";
}
mysqli_close($link);
}
?>
<div class="content">
<ul class="grid points-grid">
<li class="item">
<div class="cell-content section-content">
<div class="points-add">
<div class="banner-wrap">
<form method="POST" action="">
<button type="submit" class="btn" name="addpoints">
Add 10 points
</button>
</form>
</div>
</div>
</div>
</li>
</ul>
</div>