【问题标题】:Update Problems With Creating Simple Php,MySql Voting System更新创建简单 PHP、MySql 投票系统的问题
【发布时间】:2012-12-27 03:53:23
【问题描述】:

好的,所以我做了一个脚本来显示数据库,我加入了一个投票系统,应该更新作品,如果有人点击作品,则 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>

【问题讨论】:

  • 它有什么作用?您是否在错误日志中发现任何错误?
  • 它应该在数据库表的一侧进行投票投票,如果投票的好坏投票不会更新数据库

标签: php mysql sql mysqli


【解决方案1】:

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

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

【讨论】:

  • 我需要连接数据库吗?
  • 是的,您需要连接到您的数据库。 @user1929322
  • 我必须使用 $host="host"; // 主机名 $username="username"; // Mysql 用户名 $password="pass"; // Mysql 密码 $db_name="Db"; // 数据库名称 $tbl_name="passes"; // 表名还是改写吧
猜你喜欢
  • 1970-01-01
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 2011-03-24
相关资源
最近更新 更多