MySQL的更新PHP和JS

问题描述:

您好我已经在我的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

为了在不刷新的情况下更新页面,您需要为ajax调用提供一个回调函数(代码在调用成功完成时运行)。 从jQuery的文档:

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

所以,你可以使用jQueries DOM操作改变页面的部分,让PHP页面返回新的数据来更新页面,或自动如果依靠从数据刷新D B。

亚当希思解决方案将工作为好,但方式我会做如下:

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