2010-09-05 306 views
33

我从数据库中获取数据并将其显示在div中...我想要做的是当我单击一个链接时它应该更改div的内容HTML - 更新更新页面内容,无需刷新重新加载页面

一个选择是通过URL来传递参数本身并重新加载页面...

我需要做的是无需重新加载\刷新 ...

<?php 
    $id = '1'; 

    function recp($rId) { 
     $id = $rId; 
    } 
?> 

<a href="#" onClick="<?php recp('1') ?>" > One </a> 
<a href="#" onClick="<?php recp('2') ?>" > Two </a> 
<a href="#" onClick="<?php recp('3') ?>" > Three </a> 

<div id='myStyle'> 
<?php 
    require ('myConnect.php');  
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 

    if(mysql_num_rows($results) > 0) { 
     $row = mysql_fetch_array($results); 
     echo $row['para']; 
    } 
?> 
</div> 

的目标是当我点击任何链接的内容div和php变量\ s得到更新没有刷新....所以,用户可以看到新的数据,之后,如果执行一些查询它是在新变量\ s

ps我知道这是需要一些AJAX但我不知道AJAX ..所以请回复我可以学习的东西...我的知识仅限于HTML,PHP,一些JavaScript &一些jQuery

回答

41

你有正确的想法,所以下面是如何继续:onclick处理程序在客户端运行在浏览器中,所以你不能直接调用PHP函数。相反,您需要添加一个JavaScript函数(如您所述)使用AJAX调用PHP脚本并检索数据。使用jQuery,你可以做这样的事情:

<script type="text/javascript"> 
function recp(id) { 
    $('#myStyle').load('data.php?id=' + id); 
} 
</script> 

<a href="#" onClick="recp('1')" > One </a> 
<a href="#" onClick="recp('2')" > Two </a> 
<a href="#" onClick="recp('3')" > Three </a> 

<div id='myStyle'> 
</div> 

然后你把你的PHP代码到一个单独的文件:(我在上面的例子中把它叫做data.php

<?php 
    require ('myConnect.php');  
    $id = $_GET['id']; 
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 
    if(mysql_num_rows($results) > 0) 
    { 
    $row = mysql_fetch_array($results); 
    echo $row['para']; 
    } 
?> 
+1

我可以用 $ id = $ _POST ['id']; 而不是 $ id = $ _GET ['id']; – Moon 2010-09-05 01:19:35

+0

除了'jQuery.js' – Moon 2010-09-05 01:20:04

+0

,没有更多的库可以包含如果我已经准备好了PHP的内容,有没有办法做到这一点没有javascript/jQuery? – DeveloperACE 2016-02-26 22:29:47

1

jQuery将完成这项工作。 您可以使用jQuery.ajax函数(用于执行ajax调用的通用函数)或其包装器:用于获取/发布数据的jQuery.get,jQuery.post。 它非常易于使用,例如,查看this教程,其中显示了如何在PHP中使用jQuery。

相关问题