请问PHP生成JSON分页问题
php json
最近在搞生成PHP 生成JSON,想实现分页,下边代码已能把数组生成了,分页要怎实现了?想实现每10条分一次页//connection information
$host = "XXX";
$user = "XXX";
$password = "XX";
$database = "XX";
//make connection
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
//query the database
mysql_query('set character set "utf8"');
$query = mysql_query("SELECT * FROM akb order by infoid desc");
//start json object
$json = '{"tags":[';
//loop through and return results
for ($x = 0; $x $row = mysql_fetch_assoc($query);
$infoid=$row["InfoId"];
$Title=$row["Title"];
$pic=$row["LogoImg"];
$bpic=$row["LogoImg2"];
$time=$row["AccTime"];
$info=$row["Burden"];
$url=$row["ExtUrl"];
$json .= '{"id":"'. $infoid .'","title":"'.$Title.'","pic":"'.$pic.'","bpic":"'.$bpic.'","time":"'.$time.'","info":"'. $info .'","url":"'. $url.'"}';
if ($x $json .= ",";
else
$json .= "]}";
}
$response = $_GET["callback"] . $json;
echo $response;
//close connection
mysql_close($server);
?>
回复讨论(解决方案)
你可先分页,再生成json.
先生成数组,再用json_encode()生成json。
分页不是在客户端用JS分的,分页通常都在服务器端用PHP计算出需要获取的数据库条数,然后直接从数据库中获取选择的记录。
比如你通过GET或POST方法指导了现在是第几页,
$page = 1;//第几页
$pagenum = 10;//每页几条
$start = ($page - 1) * $pagenum;//这个就是计算出开始的记录数
//你的SQL语句就可以这样写
$sql = "SELECT * FROM akb order by infoid desc LIMIT $start,$pagenum";
前端部分,比如用jquery库
var page=1;var total=-1;$.getJSON('list.php?total='+total+'&page='+page,function(data){ var len,i,htm; total = data.total; lists = data.lists; len=data.length; htm = ''; for (i=0; i<len;i++){ //循环处理 每条数据 htm += lists[i].title; } //将处理后的 第 page 页数据插入页面指定的DOM中 $('listDom').html(htm); if(page==1){ //当加载第一页的时候 根据返回的数目 生成分页代码 插入到页面指定DOM中 //这里就要对 分页按钮绑定事件 加载数据的事件 htm = ....... $('pageDom').html(htm); }})
上面的JS大概是个意思,用的时候不能直接Copy,根据自己的情况写。
后端部分
$result = array();if($total == -1){ $result['total'] = msql查询符合条件的总记录数}else{ $result['total'] =$total;}//当前页数$page = min(1,$page);//每页加载数据条数$pgerow = 10;$sql = "SELECT * FROM akb order by infoid desc LIMIT ".($page-1)*$pagerow.",$pagerow";$lists = array();$query = mysql_query($sql);for ($x = 0; $x < mysql_num_rows($query); $x++) { $lists[] = $row;}$result['lists'] = $lists;echo json_encode($result);exit;
思路与楼上一样,只不过这里多处理一下了记录总数,因为这个查询可以仅仅在第一次时候进行,返回给前端后缓存起来。
之后的查询把total放到GET中,效率上略有优势。
我记得之前有封装过这类东西,不知道你这个应用场景是不是一般的web分页,如果是,可以找到不少类似的封装函数的。google下
不懂为什么要引入json,用php直接分页输出就好了呀。
用来android开发调用数据用,不会JAVA,所以用php来生成!
用来android开发调用数据用,不会JAVA,所以用php来生成!
我们的android开发全部都是调用的php接口,非常方便。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les longues URL, souvent encombrées de mots clés et de paramètres de suivi, peuvent dissuader les visiteurs. Un script de raccourcissement d'URL offre une solution, créant des liens concis idéaux pour les médias sociaux et d'autres plateformes. Ces scripts sont utiles pour les sites Web individuels

À la suite de son acquisition de haut niveau par Facebook en 2012, Instagram a adopté deux ensembles d'API pour une utilisation tierce. Ce sont l'API graphique Instagram et l'API d'affichage de base Instagram. En tant que développeur créant une application qui nécessite des informations à partir d'un

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

Il s'agit de la deuxième et dernière partie de la série sur la construction d'une application React avec un back-end Laravel. Dans la première partie de la série, nous avons créé une API RESTful utilisant Laravel pour une application de liste de base sur le produit. Dans ce tutoriel, nous serons Dev

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

L'enquête sur le paysage PHP 2025 étudie les tendances actuelles de développement du PHP. Il explore l'utilisation du cadre, les méthodes de déploiement et les défis, visant à fournir des informations aux développeurs et aux entreprises. L'enquête prévoit la croissance de la PHP moderne versio
