php json
最近、PHP で JSON を生成することに取り組んでいます。次のコードはすでに配列を生成できます。 10項目ごとのページ分割を実現したい
//接続情報
$user = "XXX";
$password = "XX"; " ;
データベース
mysql_query('set 文字セット " utf8 "');
$query = mysql_query("SELECT * FROM akb order by infoid desc");
//json オブジェクトを開始
$json = '{"tags ":[';
//ループして結果を返す
for ($x = 0; $x
$row = mysql_fetch_assoc($query);
$infoid= $row["情報ID"];
$タイトル=$row["ロゴ画像"];
$bpic=$row["ロゴ画像"]; ["AccTime"];
$info=$ row["Burden"];
$json .= '{"id":"'. $infoid .' ","title":"'.$Title .'","pic":"'.$pic.'","bpic":"'.$bpic.'","time":"'.$time .'","info":"'。$info .'","url":"'。$url.'"}';
else
$json .= "]}"; = $_GET["callback"] . $json;
echo $response; // 接続を閉じる
?>
最初にページネーションし、次に 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 はおそらく同じ意味です。使用する場合は、直接コピーすることはできません。
バックエンド部分
$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;
ログイン後にコピー
アイデアは上記と同じですが、レコードの総数がここでもう少し処理される点が異なります。これは、このクエリは初めて実行され、フロントエンドに返された後にキャッシュされるためです。 。
後続のクエリでは合計が GET に入れられるため、効率が若干向上します。
以前にこの種のものをカプセル化したことを覚えていますが、アプリケーションのシナリオが一般的な Web ページングである場合は、同様のカプセル化された関数がたくさん見つかります。 Google で調べてみてください
なぜ json を導入する必要があるのかわかりません。php を使用して出力を直接ページングするだけです。
Android開発でデータを呼び出すために使用されます。JAVAを知らないので、phpを使用して生成します。
Android開発でデータを呼び出すために使用します。JAVAがわからないので、phpを使用して生成します。
私たちの Android 開発はすべて PHP インターフェイスに基づいており、非常に便利です。