0

php jqueryとajaxでレビューシステムを構築しています。「このレビューは役に立ちましたか?」のために、既に次のコードを作成しました。ボタン:

<input type='button' value='Yes' onClick = 'myCall()' 
       style='background-color:#556B2F;color:white;padding:2px; cursor:pointer'
       name='help' />
<input type='hidden' id='randomdirectory' value='$g' name='ids'/>

$g は、データベースに保存されているレビューの ID に割り当てた変数です。ajax スクリプトは次のとおりです。

<script>

function myCall() {

var ids = $('#randomdirectory').val(); 
var self = this;

    $.ajax({
        url: 'rev.php',
        type: 'POST',

        data: {ids: ids},
         success: function(data) {
        $('#ques1').hide();
    }

    });

}

「rev.php」ファイルのコードは次のとおりです。

<?php
include 'includes/db.php';

$q = $_POST['ids'];
if ($q != ""){

$result = mysql_query("SELECT * FROM table where id='$q'");

while($row = mysql_fetch_array($result))
  {
  $finalproduct = $row['numberofhelpfulvotes'];
  $finalproduct1 = $finalproduct + 1;


  }


mysql_query("UPDATE table SET numberofhelpfulvotes='$finalproduct1' WHERE id ='$q'");
}

?>

問題は、ページに複数のレビューがある場合です。いずれかのレビューで [はい] ボタンをクリックすると、ボタンがクリックされた実際のレビューではなく、最初に表示されたレビューに投票が追加されます。また、ajax 呼び出し後にボタンとテキストが非表示になると、ボタンがクリックされたレビューではなく、最初のレビュー ボタンとテキストが非表示になります。また、ページの下部に黒い線が表示されます。

これらの問題に対する解決策は大歓迎です。

4

1 に答える 1

0

すべての返信をありがとう。私はこれをやってしまいました。これは私にとって完璧に機能します:

<script>

$(function() {  
  $(".button").click(function() {  
     var ids = (this.id);

     $.ajax({
        url: 'rev.php',
        type: 'POST',

        data: {ids: ids},
         success: function(data) {
        $('.' + ids).hide();
    }

    });
  });  
});   


</script>

これをhtmlとして:

<div class='$g'><font size='2' color='black'>Was this review helpful?</font>&nbsp;<input type='submit' value='Yes' onClick = 'myCall()' style='background-color:#556B2F;color:white;padding:2px; cursor:pointer' name='help' id='$g' class='button' /><input type='hidden' id='randomdirectory' value='$g' name='ids'/>

PHPはそのままですが、より安全にするために更新します。

于 2013-04-10T18:08:21.623 に答える