php - 更新创建简单的 Php、MySql 投票系统的问题

标签 php mysql sql mysqli

好吧,所以我所做的是制作一个脚本来显示数据库,并且我添加了一个应该更新作品的投票系统,mysql数据库中的dworks,如果有人点击作品,它会将作品的值从3更改为4和4 5 如果再次单击 dworks 部分的相同内容,但它不更新数据库,请帮助我

<?php require "manybr.htm" ?>
<style>
body
{
background-image:url('images/bg.png');
}
</style>
<?php

$host="host"; // Host name 
$username="username"; // Mysql username 
$password="pass"; // Mysql password 
$db_name="Db"; // Database name 
$tbl_name="passes"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// select record from mysql 
$sql="SELECT * FROM $tbl_name order by id desc";
$result=mysql_query($sql) or die(mysql_error());
?>
<table background='images/view.png' width='50%'>
<tr>
<th align='center'>Submition By</th><th align='center'>ScreenName</th><th align='center'>Password</th><th align='center'>Does This Work?</th><th align='center'>Vote</th>
</tr>
<tr>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
</tr>
<?php
while($rows=mysql_fetch_array($result)…
?>

<tr>
<td background='transparent' align='center'><i><b><? echo $rows['yname']; ?> </b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['username']; ?></b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['password']; ?></b></i></td>
<td background='transparent' align='center'><i><b><? echo $rows['works']; ?>% Yes <font color='transparent'>||||</font>  <? echo $rows['dworks']; ?>% No</b></i>
<td background='transpatent' align='center'><i><b>
<!--PROBLEMS HERE--><?php

if ( isset( $_POST['works'] ) )
{
// query YES +1
//UPDATE tylted SET works = works + 1
$sql="UPDATE `Db`.`Users` SET `works` = '+ 1' WHERE `passes`.`id` =$id LIMIT $id ;";
} 
else if (isset( $_POST['dworks'] ))
{
// query NO +1
//UPDATE tylted SET dworks = dworks + 1
$sql="UPDATE `Db`.`Users` SET `dworks` = '+ 1' WHERE `passes`.`id` =$id LIMIT $id ;";
}

?>

<form method='POST'>
<input type='submit' value='works' name='works'>
<input type='submit' value='no works' name='dworks'>
</form>
<!--THEY END HERE-->
</td> 
</tr>

<?php
// close while loop 
}
?>

</table>

<?php
// close connection; 
mysql_close();
?>
<center>

最佳答案

UPDATE 语句不是这样工作的,如果您想增加列的值,则应该这样。

UPDATE `Db`.`Users` 
SET `works` = `works` + 1 
WHERE `tylted`.`id` = $id 
// LIMIT $id

关于php - 更新创建简单的 Php、MySql 投票系统的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14049168/

相关文章:

php - 有什么方法可以使 MySql 数据库成为 "update itself"吗?

mysql - 存储过程 - 循环结果并将其存储在临时表中

java - 如何使用jdbc从oracle DB获取时间戳

mysql - 产品表数据透视标签表获取一列中的所有标签

php - 如何动态地为星级评分中的星星着色?

javascript - 使用 PHP 和 ajax 传递带 URL 的变量不能正常工作

php - ZF2 始终验证日期和时间格式 PT_BR 输入似乎不是有效日期

php - 这在 PHP : -> or => 中是什么意思

mysql - 构建 docker 镜像时初始化数据库脚本的最佳方法

mysql 在具有有限值的整数上构建索引