ヘルプ: このコードのデータ取得の問題について! !
助けを求めています
$sql="select * from xym_pic"
$res=mysql_query($sql,$conn); ( $row=mysql_fetch_assoc($res)){
$data[]=$row;
}// 実際の状況をシミュレートするために 9 つのレコードをランダムに選択します
$keys = array_rand($data, 10); ( );
foreach($keys as $key){
$json[] = $data[$key] }
このコードのウォーターフォール data.php 部分のコード各取得後、データはデータベースから取得され、配列 $data[] に入れられます。本来の方法では、毎回 9 つのレコードをランダムに取得し、時間順にソートして削除します。 1 回目は 0-9 で、2 回目は 10-9 というようになります。誰かデータを抽出する方法を教えてくれませんか?どうもありがとうございます!問題を解くと100点差し上げます! ! !親切な方が QQ に参加して指導していただければ幸いです: QQ 2 7 7 6 2 8 1 8 1
ディスカッション (解決策) への返信
session_start();if(! isset($_SESSION['last'])) $_SESSION['last'] = 0;$last = $_SESSION['last'];$sql="select * from xym_pic limit $last,9";$res=mysql_query($sql,$conn);while ($row=mysql_fetch_assoc($res)){ $data[]=$row;}$_SESSION['last'] += count($data);echo json_encode( $data )
返信してくれたモデレーターに感謝します。解決しました。ありがとうございます。 ! ! ! ! ! ! ! !
session_start();if(! isset($_SESSION['last'])) $_SESSION['last'] = 0;$last = $_SESSION['last'];$sql="select * from xym_pic limit $last,9";$res=mysql_query($sql,$conn);while ($row=mysql_fetch_assoc($res)){ $data[]=$row;}$_SESSION['last'] += count($data);echo json_encode( $data )
まだ小さな問題があります。つまり、データベースに 80 件以上のレコードがあり、毎回 9 回取り出しても、すべて取り出されてしまいます。ページを更新してもセッションが残っています。どうすれば解決できますか?ありがとうございます
session_start();if(! isset($_SESSION['last'])) $_SESSION['last'] = 0;$last = $_SESSION['last'];$sql="select * from xym_pic limit $last,9";$res=mysql_query($sql,$conn);while ($row=mysql_fetch_assoc($res)){ $data[]=$row;}$_SESSION['last'] += count($data);echo json_encode( $data )
まだ小さな問題があります。つまり、データベースに 80 件以上のレコードがあり、毎回 9 つのレコードを取り出しますが、それらはすべて取り出されます。ですが、ページを更新してもセッションが残っています。どうすれば解決できますか?ありがとうございます
ウォーターフォールフローはセッションに保存すべきではありませんね?リクエストパラメータでデータの先頭を判断するのはページングと同じはずです
取得できなかった場合は、もう一度最初から取得してください
取得できなかった場合は、もう一度最初から取得してください
取得できない場合は最初から取得してくださいもう一度
結果セットが空の場合はセッションを破棄すると判断しましたが、それでもデータを取得できません
結果セットが空の場合は、セッションを破棄しても、また無限ループになります
結果セットは空だと思うので、ページが更新されるまで結果は再度取得されません
解決方法
session_start();if(! isset($_SESSION['last'])) $_SESSION['last'] = 0;$last = $_SESSION['last']; $sql="select * from xym_pic limit $last,9";$res=mysql_query($sql,$conn);if(mysql_num_rows($res) ==0) { $last = $_SESSION['last'] = 0; $sql="select * from xym_pic limit $last,9"; $res=mysql_query($sql,$conn);}while ($row=mysql_fetch_assoc($res)){ $data[]=$row;}$_SESSION['last'] += count($data);echo json_encode( $data )
Get 取得できない場合は、もう一度最初から取得してください
さて、取得できないので、結果セットが空の場合は、ページを更新してもセッションを破棄すると判断しました。データを取得します
結果セットが空の場合、セッションを破棄させますが、破棄されてしまいます。これは無限ループです
結果セットは空だと思うので、ページが更新されるまで結果は取得できません。それからもう一度数えます
解決方法
このコードの最終的な結果セット json は JS ファイルに返され、js がページの位置を決定します 新しいコンテンツを常に読み込み、セッションを破棄しても、すぐにデータの取得を再開しますロードされているので!
これは頭が痛いです!
具体的に何がしたいのですか?
最新の80個のデータを少しずつ取得したいのですが、ページを更新して再度データを取得してしまうのがこのウォーターフォールフローです。
さて、このウォーターフォールフローの仕組みは、静的ページがjsを呼び出し、jsがページの現在位置を下から何ピクセル後に取得するというものですが、このphpコードでは問題ありません。 jsを取得する際にjsonが空であるかどうかを判断する必要がありますが空の場合は取得されないのでしょうか?
これで、js はスクロールされている限りコンテンツを取得し続けます。php の結果セットが空の場合、一度取得した後はデータが保持されます。
取得後、セッションからログアウトするか、$_SESSION を空に設定します
もちろん、JS 側でも返すデータがあるかどうかを確認する必要があります。ない場合は、それ以上のリクエストは送信されません
取得後、ログを記録します。セッションを終了するか、$_SESSION を空に設定します
もちろん、JS 側でもデータが返されるかどうかを確認する必要があります。そうでない場合は、リクエストは送信されません。ありがとうございます。 !

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)
