在jQuery链接上运行SQL查询单击

时间:2014-01-08 13:21:19

标签: php jquery mysql

我希望在单击链接时在特定部分(具有sql查询以获取该特定部分的最新线程)上显示PHP函数。

例如,结构是这样的;

Section # 1  --- Link 1
Section # 2  --- Link 2
Section # 3  --- Link 3

点击Link 1后,会显示Latest Threads的{​​{1}} ...以及Section # 1是否已点击Link 3 Latest Threads Section # 3应该显示一个。

我已尝试在链接中使用该PHP函数,但它为我的页面的每个部分运行X个sql查询。我想要的是这样做,以便在点击该特定部分的链接后运行sql查询。

有什么工作吗?请原谅我,我已经搜索过,但没有找到令人满意的结果。 :(

请帮忙!

2 个答案:

答案 0 :(得分:0)

你可以使用ajax调用而不是ajax函数回调来改变代码应该是这样的内容:

$('#Link1').on('click',function(){
var e=$(this);
 $.ajax({
    type: "POST",
    url: 'myfile.php?id='+e.id,
    data: data,
    dataType: 'json', 
    success: function (data) {
      $('#mydiv').html(data);
    },
     error: function (xhr, ajaxOptions, thrownError) {
       console.log(xhr.status);
       console.log(thrownError);
    }
    })

此外,您必须为每个链接都添加特定的id标记

myfile.php中,您应该考虑使用$_GET['id']并使用它来加载数据 这就像:

$myid=isset($_GET['id']):$_GET['id']?die('the query is invalid!!');
// do some stuff considering the given id like mysql??

答案 1 :(得分:0)

//点击链接时调用的函数

function getSection(){

    //declare any vars you want here
    var variable1='variable1Content';
    var variable2='variable2Content';

    //Post some data to your php script without reloading the page
    $.post('getSection.php',{var1:variable1,var2:variable2},function(data){ 

        $("#targetDiv").empty().append(data);
    });
}

数据是php脚本的响应(在这种情况下可能是html代码)

var1& var2是您在PHP脚本中的$ _POST vars中找到的名称

“targetDiv”是您将放置内容的目标div的ID。

查询以php脚本完成。