php+ajaxはリフレッシュせずに動的にデータをロードする技術を実現します
リフレッシュ以外の関数をたくさん使いますが、ここでphp+ajaxを実装してリフレッシュせずにスクロールするデータロードを実現する例を紹介します。この例は非常に優れています。手順は簡単です。手順に従うだけです。
いくつかの Web ページを閲覧するときに、ブラウザのスクロール バーがページの一番下まで引っ張られると、ページはユーザーが閲覧するためにさらに多くのコンテンツを自動的に読み込み続けます。この技術をスクロールローディング技術と呼ぶことにします。多くの Web サイトがこのテクノロジーを使用しており、Bing 画像検索、Sina Weibo、QQ Zone などがこのテクノロジーを完全に適用していることがわかりました。
スクロールローディングテクノロジーは、JavaScriptを使用してスクロールバーの位置を監視し、スクロールバーがブラウザウィンドウの下部に到達するたびに、バックグラウンドのPHPプログラムに対してAjaxリクエストがトリガーされ、対応するデータが返されます。したがって、動的ロードの実現は、実際には典型的な Ajax アプリケーションです。この記事では、jQuery を PHP、mysql、JSON と組み合わせて使用し、スクロール ローディング テクノロジをプロジェクトに適用する方法を説明します。もちろん、この記事を読む前提条件として、jQuery と PHP の基本的な知識が必要です。
index.php
デフォルトでは15個のデータを表示したいので、まず最初の15個のデータをデータベースから取得してページに表示します。また、新しく読み込んだデータを一度に15個ずつ表示します。
説明をできるだけ簡単にするために、ネイティブの PHP と mysql のクエリ ステートメントを使用します。まず、接続情報を含む connect.php を含めてデータベースに接続する必要があります。ここでは、いくつかのユーザー ID を定義します。
その後、データテーブルをクエリして結果セットを取得し、ループで出力します。 コードは次のとおりです。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
require_once('connect.php'); $user = array('demo1','demo2','demo3','demo3','demo4'); ?>
$query=mysql_query("select * from Say order by ID desc limit 0,15"); while ($row=mysql_fetch_array($query)) { ?>
|
jQuery
1. まず、ブラウザの表示領域ページの高さを取得する必要があります:
コードは以下の通りです:
var winH = $(window).height();
2. 次に、ページをスクロールするときに行う必要があるのは、ページの合計の高さを計算する(一番下までスクロールすると、ページに新しいデータが読み込まれるため、ページの合計の高さは動的に変化します)、スクロールバーの位置を計算するです。 (スクロール バーの位置も (ロードされたページの高さに応じて動的に変化します)、相対的な比率を計算する式を構築します。
?
1 2 3 4 5
|
$(ウィンドウ).scroll(function() { var pageH = $(document.body).height() //ページの合計高さ ; varscrollT = $(window).scrollTop() //スクロールバーの上部; var aa = (pageH-winH-scrollT)/winH;});
|
1 2 3 4 5 |
if(aa $.getJSON("result.php",{page:i},function(json){ ...... }); } |
4. リクエストの応答が正常に JSON データを返した場合は、JSON データを解析してページの DIV#container にデータを追加します。JSON データが返されない場合は、すべてのデータが表示されたことを意味します
。?
1 2 3 4 5 6 7 8 9 10 11 |
if(json){ var str = ""; $.each(json,function(index,array){ //トラバース var str = "..." //JSONデータを取得します ;$("#container").append(str); //追加 }); i++ //ページ数+1 ;}その他{ $(".nodata").show().html("スクロールをやめて、終わりです..."); false を返す; } |
完全な jQuery コードは次のとおりです:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
$(関数(){ var winH = $(window).height() //ページの表示領域の高さ ;var i = 1 //現在のページ番号を設定します $(ウィンドウ).scroll(function() { var pageH = $(document.body).height(); varscrollT = $(window).scrollTop() //スクロールバーの上部 ;var aa = (pageH-winH-scrollT)/winH; if(aa $.getJSON("result.php",{page:i},function(json){ if(json){ var str = ""; $.each(json,function(index,array){ var str = " ";
var str += " "+array['date']+" ";
var str += " ";var str += " "+array['content']+"
$("#container").append(str); }); i++; }その他{ $(".nodata").show().html("スクロールをやめて、終わりです..."); false を返す; } }); } }); }); |
result.php
ページの一番下までスクロールすると、フロントエンドの Ajax リクエストは result.php に対して行われ、バックグラウンド プログラムは、リクエストされたデータ ページ番号: page に従ってデータ テーブル内の対応するレコードをクエリし、に設定されたレコードを出力します。 json 形式に変換し、処理のためにフロントエンドに返します。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
require_once('connect.php') //データベースに接続します
$user = array('demo1','demo2','demo3','demo3','demo4'); $page = intval($_GET['page']) //要求されたページ番号を取得します $start = $page*15; $query=mysql_query("select * from Say order by ID desc limit $start,15"); while ($row=mysql_fetch_array($query)) { $arr[] = 配列( 'コンテンツ'=>$row['コンテンツ'], '作成者'=>$user[$row['userid']], 'date'=>date('m-d H:i',$row['addtime']) ); } echo json_encode($arr); //json データ出力に変換します |
さて、この記事の紹介は終わりました。効果を確認してください。
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
