2

私のウェブサイトのアイテムへの投票を登録するために、単純な(またはそう思った)PHP、MYSQL、AXAXシステムをセットアップしました。私は upVotes しかやっていないので、ボタンは 1 つしかありません。

私の問題は、ページが読み込まれると、アイテムの正しい投票数が表示されますが、upVote ボタンを最初にクリックしたときに値が変更されないことです。何かが欠けているに違いないことはわかっていますが、何が足りないのかわかりません。それはおそらく簡単です...しかし、私はそれを理解することはできません.

すべてが正常にDBに接続されます。そのため、すべてのコードを省略しました。

どんな助けでも大歓迎です。

これは私が持っているjavascriptです:

  <script type="text/javascript">
    function voteButton(str)
    {
    if (str=="")
      {
      document.getElementById("voteUp").innerHTML="";
      return;
      } 
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("voteUp").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","vote?id="+str,true);
    xmlhttp.send();
    }
</script>

これは、データベースのクエリに使用される php ファイルです。

<?php
$id=$_GET["id"];

include("myDatabaseStuff.php");
include("global.php");

$result = mysql_query("UPDATE TABLE SET up_mod = up_mod + 1 WHERE img_id = $id");
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

while($row = mysql_fetch_array($getUpVoteResult))
  {
  echo $row['up_mod'];
  }
?>

これは、値/ボタンを表示するためにページで使用する HTML です。

<div class="span1" style="margin:30px 0 0 10px;">
    <button onclick="voteButton('<?php echo $id;?>')" class="btn btn-large" type="button" style="margin-top:5px"><div id="voteUp"><?php echo $votes[0] ?></div><i class="icon-thumbs-up"></i></button>
</div>
4

2 に答える 2

1

追加:

$getUpVoteResult = mysql_query("SELECT up_mod FROM table WHERE img_id = $id") or die ("Invalid query: " . mysql_error());

whileループ前。

行が 1 つしかないため、while ループも必要ありません。

于 2013-05-06T21:32:50.873 に答える
0

アップデート後、別途お手続きくださいSELECT

于 2013-05-06T21:32:45.863 に答える