PHP SQL输出orderby更改刷新整个页面

PHP SQL输出orderby更改刷新整个页面,php,sql,google-maps,Php,Sql,Google Maps,我有一些PHP代码,最初通过名称升序向order发送查询。我有箭头图标来选择不同的值进行排序。数据是关于陨石的,在数据库中有名称、id、类别、纬度、经度、年份和质量列。我有箭头按钮,用户可以根据ASC和DESC对名称、质量和年份进行排序 这样,当用户选择一个箭头进行排序时,它就会用JQuery加载页面,在本例中,它的排序质量是递增的。我有一个有效输入数组,所以SQL注入没有风险 $("#massASC").click(function () { location.href = '?or

我有一些PHP代码,最初通过名称升序向order发送查询。我有箭头图标来选择不同的值进行排序。数据是关于陨石的,在数据库中有名称、id、类别、纬度、经度、年份和质量列。我有箭头按钮,用户可以根据ASC和DESC对名称、质量和年份进行排序

这样,当用户选择一个箭头进行排序时,它就会用JQuery加载页面,在本例中,它的排序质量是递增的。我有一个有效输入数组,所以SQL注入没有风险

$("#massASC").click(function () {
     location.href = '?orderby=massASC';
});
我的问题是,我有一个谷歌地图div,当我加载一个新页面时,它会刷新


是否有一种方法可以只刷新表数据而不加载新页面?

是的,您需要使用AJAX:

<div id="data_sorted">
....
....
</div>

$("#massASC").click(function () {
     $.post('/getData.php', {orderBy: 'massASC'}, function(response) {
         $('#data_sorted').html(response.html);
     });
});

我尝试了你所说的,但我的数据表没有在网站上填充。我的代码如下:
$(“#massASC”).click(函数(){//location.href=”?orderby=massASC';$.post('/getData.php',{orderby:'massASC'},函数(response){$('#data').html(response.html);})
然后在getData.php中,我将所有已排序的内容排序为相同的
foreach($meteors AS$meteor=>$data){$html='{table data output}}}返回json_encode(数组('html'=>$html))
$orderBy = $_POST['orderBy'];
$sql = 'SELECT * from {the_table} order by ' . $orderBy;
$data = // Fetch the data the way you want using $sql query
$html = '';
foreach ($data as $row) {
    $html .= 'SOME HTML for current row';
}

return json_encode(array('html' => $html));