2012-04-22 78 views
0

我有一個窗體,應該添加數據到表中,當你點擊按鈕,彈出窗口出現告訴你它被添加或出現問題。用戶可以將數據放入文本區域,然後單擊框出現的速率,並告訴您已添加數據,但是當我查看錶格時,尚未添加數據。通過代碼後,我無法看到任何跳出我的東西。jquery告訴我什麼東西被添加到表中,但它不是

這裏是形式

<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); 
} 

?> 

謝謝。

+0

如果彈出窗口快到了,您應該檢查'movie_id_s'和'user_id_s'的值。 – hjpotter92 2012-04-22 02:31:06

+0

它看起來像這些值是正確的踢我改變列的類型爲這兩個文本,並做同樣的事情。 – terry 2012-04-22 03:34:57

回答

0

我認爲問題在於你在$.ajax調用的上下文中誤解了errorsuccesssuccess僅表示您的ajax調用已成功完成。你現在需要做的是檢查你是否有錯誤。

$.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() { 
    } 
}); 
+0

明天我將不得不再看看這一點。現在我不能讓我的大腦瞭解如何將其添加到我的代碼中。謝謝你的提示 – terry 2012-04-22 03:37:43

+0

看到我編輯的整個陳述 – climbage 2012-04-22 16:08:15

+0

真棒,這使我對事情很簡單,或者我的頭腦過度疲憊。謝謝。 – terry 2012-04-22 23:50:14

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."')"); 

好像是你忘了一個左括號。

+0

這樣做會增加一個額外的內容(在右邊,在字符串中有2個打開和關閉) – terry 2012-04-22 03:28:45

+0

你有一個語法錯誤,很簡單,任何時候調用mysql_query,你都需要一個左右括號,如果你想,從這樣的函數中獲得SQL:$ sql =「INSERT INTO rateing(movie_id,user_id)VALUES('」。$ movie。「','。。$ user。」')「; $ query = mysql_query($ sql ); – maiorano84 2012-04-22 03:40:33

+0

然後,我們有一行添加了不正確的數據,這是明天的問題,謝謝我知道它必須是簡單的 – terry 2012-04-22 05:14:53

相關問題