在php和MySQL中简单喜欢/不喜欢评级系统

时间:2011-04-28 14:25:21

标签: php mysql html forms rating

我想在我的随机视频网站(id = youtube id)中添加一个简单的评分系统 我对php和MySQL没有太多经验,我不知道如何使用提交按钮以这种方式更新字段:

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name"rateform">
  <input name="rateup" type="image" src="up.png" id="rateup" value="rateup" />
  <input name="ratedown" type="image" src="down.png" id="ratedown" 
   value="ratedown" />
</form>
<?PHP
mysql_connect(",",",",",")or die(mysql_error());
mysql_select_db(",")or die(mysql_error());
if ($_POST['rateup'])
{
    mysql_query("UPDATE utube SET rating = rating + 1 
                WHERE (id = $pageid)");} else if ($_POST['ratedown']) {
    mysql_query("UPDATE utube SET rating = rating - 1 
                WHERE (id = $pageid)");}

?>

我是否有必要将html和php链接在一起? 所有语句都自己返回正确的值(即$ pageid)
但是当我按下按钮时,任何字段都没有发生任何事情。

当我将mysql查询直接放入phpmyadmin时,它也可以工作,
我只是不确定html如何与php通信? 我很感激,如果有人告诉我这是如何工作的,那么我可以让我的脚本工作。

3 个答案:

答案 0 :(得分:2)

让我们开始发现问题:我只能想象出两个原因:

  • PHP未连接到数据库。尝试直接从您的脚本执行查询(从if语句中取出。
  • if语句出于某种原因出错:尝试将mysql_query替换为print('up');print('down');

顺便说一下,else if是一个单词的陈述。您可以将其替换为elseif

答案 1 :(得分:0)

图像按钮发布单击的坐标值,但表单名称除外。 inputname_x&amp; inputname_y

if ($_POST['rateup_x'])
{
    mysql_query("UPDATE utube SET rating = rating + 1 
      WHERE (id = $pageid)");} else if ($_POST['ratedown_x']) {
    mysql_query("UPDATE utube SET rating = rating - 1 
      WHERE (id = $pageid)");}

答案 2 :(得分:0)

<?PHP
mysql_connect("hostname","username","password")or die(mysql_error());
mysql_select_db("dbname")or die(mysql_error());
if ($_POST['rateup'])
{
    mysql_query("UPDATE utube SET rating = rating + 1 
                WHERE (id = $pageid)");} else if ($_POST['ratedown']) {
    mysql_query("UPDATE utube SET rating = rating - 1 
                WHERE (id = $pageid)");}

?>