单击复选框时,php更新数据库

时间:2013-08-08 07:18:28

标签: php jquery html

我正在显示数据库中的数据,我想在用户点击特定复选框时刷新结果。

我已将name属性设置为复选框,并尝试使用isset,但这不起作用,因为我实际上没有表单并使用分页在同一页面上显示结果。如何在不使用<form>

的情况下单击复选框时如何加载新结果

以下是我用来刷新页面的javascript(不是结果)

<script type="text/javascript">
    var reloading;

    function checkReloading() {
        if ( window.location.hash == "#autoreload" ) {
            reloading=setTimeout("window.location.reload();", 100);
            document.getElementById("reloadCB").checked=true;
        }
    }

    function toggleAutoRefresh( cb ) {
        if ( cb.checked ) {
            window.location.replace("#autoreload");
            reloading=setTimeout("window.location.reload();", 100);
        } else {
            window.location.replace("#");
            clearTimeout( reloading );
        }
    }

    window.onload=checkReloading;
</script>

这是php首先我尝试$_POST来检查复选框是否被选中但是无法正常工作,我也尝试$_GET并再次尝试相同的事情。问题是,即使选中了复选框,下面的代码也会显示表2忽略表1的结果。

try {    
    if ( isset( $_GET["size"] ) ) {
        $paginate = new pagination($page, 'SELECT * FROM test1 ORDER BY id desc', $options); exit();    
} else { 
        $paginate = new pagination($page, 'SELECT * FROM test2 ORDER BY id desc', $options);    
}
} catch( paginationException $e ) {
    echo $e;
    exit();
}

html

<input type="checkbox"  name="size" onclick="toggleAutoRefresh(this);" id="reloadCB">

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

function toggleAutoRefresh( cb ) {
    if ( cb.checked ) {
        window.location.replace("#autoreload");
        reloading=setTimeout(function(){
            // get the current url and append the parameter
            var url = window.location.href + "?size=1";
            window.open(url, '_self'); //open url
            }, 100);
    } else {
        window.location.replace("#");
        clearTimeout( reloading );
    }
}

希望这会有所帮助。

编辑将第二个边界包含在window.open