注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Bioinformatics home

 
 
 

日志

 
 

jquery + ajax +json +mysql +php 动态无刷新取数据 (可以扩展分页功能)  

2010-05-23 00:49:51|  分类: Jquery |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

example.php

<?
/**
* Filename: example.php
* Purpose: Example file which is utilising mysql2json class
* Author: Adnan Siddiqi <>
* License: PHP License
* Date: Tuesday,June 21, 2006
*
*/
include("mysql2json.class.php");
//this is db connection file and has nothing to do withe the class itself
$conn = mysql_connect("localhost","root","xxxxx")   or   die("connection error");  
mysql_select_db("coest",$conn)   or   die("incorrect database");
?>
<?
$num=0;
$no=$_GET["no"];
//any SQL select Query
$sql="select cgbk_id, cgbk_title,cgbk_email  from guestbook s";
) or die(mysql_error());
$num=mysql_affected_rows();
//calling class
$objJSON=new mysql2json();
print(trim($objJSON->getJSON($result,$num)));
?>

 

mysql2json.class.php

<?
/**
* Filename: mysql2json.class.php
* Purpose: Convert mysql resultset data into JSON(http://json.org) format
* Author: Adnan Siddiqi <>
* License: PHP License
* Date: Tuesday,June 21, 2006
*
*/


class mysql2json{

 function getJSON($resultSet,$affectedRecords){
 $numberRows=0;
 $arrfieldName=array();
 $i=0;
 $json="";
 //print("Test");
  while ($i < mysql_num_fields($resultSet))  {
   $meta = mysql_fetch_field($resultSet, $i);
  if (!$meta) {
  }else{
  $arrfieldName[$i]=$meta->name;
  }
  $i++;
  }
  $i=0;
   $json="{\n\"data\": [\n";
 while($row=mysql_fetch_array($resultSet, MYSQL_NUM)) {
  $i++;
  //print("Ind ".$i."-$affectedRecords<br>");
  $json.="{\n";
  for($r=0;$r < count($arrfieldName);$r++) {
   $json.="\"$arrfieldName[$r]\" : \"$row[$r]\"";
   if($r < count($arrfieldName)-1){
    $json.=",\n";
   }else{
    $json.="\n";
   }
  }  
  
   if($i!=$affectedRecords){
    $json.="\n},\n";
   }else{
    $json.="\n}\n";
   }   
 }
 $json.="]\n}"; 
 return $json;
 }


}
?>

前台调用

<html>
<title>JSON test</title>
<head>
<script src="jquery.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
 $("#xx").click(function(){    
     $.ajax({
          type: "GET",        
                    contentType: "application/json",
          url: "example.php", 
                   data: "no=8&anticache=" + Math.floor(Math.random()*1000), //remove cache
          success: function(result) {
         var tbody="";    
        $("#linkTable tr:gt(0)").remove();
      var dataObj=eval("("+result+")");     
      $.each(dataObj.data, function(i, n) {      
       var trs = "<tr><td align='center'>" + n.cgbk_id + "</td><td>" + n.cgbk_email + "</td></tr>";
       tbody += trs;
                        });      
                        $("#linkTable").append(tbody);      
        }
        
  });

 });
});
</script>
</head>
<body>
<p><a href="#" id="xx">Fetch JSON </a></p>
<strong>Value returned from Json:</strong>
<table id="linkTable" cellpadding="6" cellspacing="1" align="left" class="tablesorter" style="width:400px;margin:0 0 20px 5px;">
<thead>
<tr class="tableHeader" align="center">
<th style="width:200px; text-align:center;" >
product
</th>
<th style="width:200px; text-align:center">
price
</th>
</tr>
</thead>
</table>
</body>
</html>

  评论这张
 
阅读(3938)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017