1

我有一个带有一点投票系统的网格。每一行都列出了日期,每行末尾有一个+,用于投票。这是一张图片: http ://doubledream.square7.de/upload/dates.PNG 白色文本显示日期,绿色文本显示排名,+ 用于投票。

到目前为止一切正常,除了upvoting,我只是无法获得正确的id。

我首先尝试简单地将 $id 放在 where 约束中,它总是更新最后一行。其次,我尝试添加<input type="hidden" name="idupdate" value="'. $id. '" />';到 while 子句。

然后我将 $idupdate 放在 where 约束中,但这绝对没有任何作用。

我希望这部分代码就足够了:

  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 
  </head>

<?php
    require("connect.php");
    $getquerydate=mysql_query("SELECT * FROM table where staid=1 order by id asc");
    while($rows=mysql_fetch_assoc($getquerydate)) {
        $id=$rows['id'];
        $text=$rows['datum'];
        $vote=$rows['vote'];
        $staid=$rows['staid'];
        echo '
            <font color="white">' . $text. '</font>&nbsp;
            <font color="#00FF00">' . $vote . '</font>&nbsp;

            <form style="display:inline!important;" id="datplus" name="datplus" 
            action="mysite.php" method="post" ><input type="submit" 
            name="submitdatplus" class="submit" value="+" /></form>

            <input type="hidden" name="idupdate" value="'. $id. '" /><br>';
    }
    $idupdate=$_POST['idupdate'];
    $submitdatplus=$_POST['submitdatplus'];

?>
<script>
        $(document).ready(function() { 
            $('[name=datplus]').ajaxForm(function() { 
            <?php
                $vote= $vote+1;

                if($submitdatplus) {
                    mysql_query("UPDATE table set vote='$vote' 
                                    where id='$idupdate'");
                }
            ?>
            }); 
        }); 
</script>

提前致谢

4

1 回答 1

1
<input type="hidden" name="idupdate" value="'. $id. '" /><br>';

隐藏字段应该在你的<form>后面。

在隐藏字段之后关闭表单。

echo '
            <font color="white">' . $text. '</font>&nbsp;
            <font color="#00FF00">' . $vote . '</font>&nbsp;

            <form style="display:inline!important;" id="datplus" name="datplus" 
            action="mysite.php" method="post" ><input type="submit" 
            name="submitdatplus" class="submit" value="+" />

            <input type="hidden" name="idupdate" value="'. $id. '" /><br>

</form>';
于 2013-09-15T16:45:18.490 回答