1

小さな投票システムを備えたグリッドがあります。すべての行に日付がリストされ、各行の最後に投票に使用される + が付いています。画像は次のとおりです: http://doubledream.square7.de/upload/dates.PNG 白いテキストは日付、緑のテキストはランキング、+ は賛成票です。

賛成票を除いて、これまでのところすべてが機能しています。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 に答える