0

ボタンをクリックするとテーブルにデータを追加するフォームがあり、追加されたか問題が発生したことを知らせるポップアップが表示されます。ユーザーはテキスト領域にデータを入力し、レートをクリックすると、ボックスが表示され、追加されたことがわかりますが、テーブルを見ると追加されていません。コードを調べた後、私に飛び出すものは何も見えません。

フォームはこちら

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<form id="add-rateing">
 <input type="text" name="MOVIE_ID">
  <input type="text" name="USER_ID">
<input type="submit" value="rate">
</form>
<script type="text/javascript">
$("#add-rateing").submit(function(){
event.preventDefault()

    addrateing();

   });

function addrateing()
{
var movie_id_s    = $("#add-rateing [name='MOVIE_ID']").val();
var user_id_s   = $("#add-rateing [name='USER_ID']").val();
var errors  = '';

$.ajax({
    type    : "GET",
    url     : "movie_watched.php",
    data    : { movie  : movie_id_s,
                user : user_id_s, },
    cache   : false, timeout: 10000,

    success  : function() {
        alert("added");
    },
    error    : function() {
        alert("there is a problom");
    },
    complete : function() {
    }

});
};
</script>
</body>
</html>

これがmovie_watched.phpです

    <?php
include"scripts/connect.php" ;
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$movie = mysql_real_escape_string($_POST['MOVIE_ID']);
$user = mysql_real_escape_string($_POST['USER_ID']);
$error = '';

$query=mysql_query"INSERT INTO rateing (movie_id, user_id) VALUES ('".$movie."', '".$user."')";

if (!mysql_query($query, $conn))
{
$error = mysql_error();
$return['error'] = $error;
echo json_encode($return);
mysql_close($conn);
}
else
{
$success = "Thank you for playing";
$return['mysql'] = $success;
echo json_encode($return);
mysql_close($conn);
}

?>

ありがとうございました。

4

2 に答える 2

1
$query=mysql_query"INSERT INTO rateing (movie_id, user_id) VALUES ('".$movie."', '".$user."')";

する必要があります:

$query=mysql_query("INSERT INTO rateing (movie_id, user_id) VALUES ('".$movie."', '".$user."')");

左括弧を忘れたように見えます。

于 2012-04-22T02:37:42.863 に答える
0

問題は、あなたが誤解errorしていて、電話successの文脈にあることだと思い$.ajaxます. successajax 呼び出しが正常に完了したことのみを意味します。ここで行う必要があるのは、エラーがあるかどうかを確認することです。

$.ajax({
    type    : "GET",
    url     : "movie_watched.php",
    data    : { movie  : movie_id_s,
                user : user_id_s, },
    cache   : false, timeout: 10000,

    dataType : 'json',
    success  : function(json) {
        if (json.error){
            // your php call returned successfully, but set an error code
            alert('failed : ' + json.error);
        } else {
            alert("added");
        }
    },
    error    : function() {
        alert("there is a problom");
    },
    complete : function() {
    }
});
于 2012-04-22T02:34:12.510 に答える