2009-11-17 89 views
0

您好我已經在我的change.php頁面下面的代碼:MySQL的更新PHP和JS

$con = mysql_connect("localhost","root","root"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db("FACT", $con); 


    if($_POST['isChecked']==1) // SEE THIS LINE PLEASE 
    { 
    mysql_query("UPDATE Orc SET CON = 'CHECKED' 
    WHERE UID = '1'"); 
    } 
    else 
    { 
    mysql_query("UPDATE Orc SET CON = 'NO' 
    WHERE UID = '1'"); 
    } 

    mysql_close($con); 

此頁是從我的index.php至極稱爲使用jQuery和:

$.post("test.php", { isChecked:$('#checkbox_id').attr('checked') }); 

它工程幾乎罰款的選擇複選框,我仍然需要手動刷新頁面的變化發生在數據庫中,我不能改變回到選定的框...

Im難住這一個,請幫助。

謝謝。

+0

你肯定的是,當用戶點擊這個複選框.post的叫? – 2009-11-17 10:46:29

+0

它必須是自從DB從'檢查'更新爲'NO',如果JS不工作,我從來沒有調用change.php頁面。我仍然不知道如何調試js。 – Jay 2009-11-17 11:00:54

回答

1

爲了在不刷新的情況下更新頁面,您需要爲ajax調用提供一個回調函數(代碼在調用成功完成時運行)。 從jQuery的文檔:

$.post("test.php", { name: "John", time: "2pm" }, 
    function(data){ 
    alert("Data Loaded: " + data); 
    }); 

所以,你可以使用jQueries DOM操作改變頁面的部分,讓PHP頁面返回新的數據來更新頁面,或自動如果依靠從數據刷新D B。

0

亞當希思解決方案將工作爲好,但方式我會做如下:

$.ajax({ 
    type : 'post', 
    url : 'your url', 
    data: {isChecked : $('#checkbox_id').attr('checked')}, 
    success: function(resultData) { 
     //in your php script do all server side scripting and then 
     //if your methods executed successfully return true otherwise return false 
     if (resultData == true) { 
     $('#checkbox_id').attr('checked', true); 
     } else { 
     $('#checkbox_id').attr('checked', false); 
     } 
    } 
    });