目次
ディスカッション(解決策)への返信

PHPコメント返信

Jun 23, 2016 pm 02:39 PM

この投稿の最終編集者は haoren026 2013-12-15 21:12:03 です

この質問が非常に初歩的なものであることは承知しています。 。私も多くの投稿を検索しましたが、どれも非常に面倒、またはそれを達成するのに十分な能力がありません。

問題は次のとおりです:
コメント返信機能を実装したいと考えています。要件は高くありません。訪問者はコメントに返信できません。コメント返信。それはとても簡単です。

オンラインメソッドのデータテーブル構造の多くは以下の通りです:
id: コメント ID
pid: 返信コメント ID
content: コメント内容

コメントレコードと返信の間に複数の行がある場合に知りたいレコード、どうすればいいですか? 返信レコードを見つける方法は次のとおりです。

id pid
1 0
2 0
3 1 //返信とコメントは数行で区切られています
4 0

この問題は非常に難しいですSQLのソートと再編成で解決します。 。マスターからの助け、ありがとうございます


ディスカッション(解決策)への返信

pid=1はid=1のコメントへの返信ではないでしょうか?隣り合っているかどうかは気にする必要はありません

区切られた行の意味がよく分かりません…

pid=1というのはid=1のコメントへの返信だけではないでしょうか?隣り合っているかどうかは気にする必要はありません
データベースからコメントを取得したい場合は、次のようになります:
id pid
1 0
3 1
2 0
4 0
このようにphpを使って出力すると非常に簡単です。以下にIDが順に出力されます。pidが0でない場合はブロガーからの返信とみなされ、返信されたコメントの下に表示されます。

分割された行の意味がよくわかりません...
たとえば、訪問者が 2 つのコメントを投稿し、ブロガーが最初のコメントに返信した場合、データベース内の保存順序は次のようになります:
id pid
1 0
2 0
3 1 //返信とコメントは一行で区切ってます

3階から2階の投稿への返信を参考にしてください

コメントへの返信はpid=1ではないでしょうか? id=1の場合?隣り合っていても気にする必要はありません
php内で並び替える必要がなく、関連するコメントや返信を「上下」で実現できるSQL文があれば知りたいです


分割された行の意味がよくわかりません...
たとえば、訪問者が 2 つのコメントを投稿し、ブロガーが 1 つ目のコメントに返信した場合、データベース内の保存順序は次のようになります。
id pid
1 0
2 0
3 1 //コメント1行ごとに返信を分けます

2階の投稿への3階からの返信をご参照ください

隣同士とは関係ありません。重要なのは、プログラムが間違っていないことを確認するために SQL とロジックを適切に処理することです。想像した順序で挿入することは不可能です



何が何だかよくわかりません。区切られた行は...
たとえば、訪問者が 2 つのコメントを投稿し、ブロガーが最初のコメントに返信した場合、データベース内の保存順序は次のとおりです:
id pid
1 0
2 0
3 1 //返信とコメントは一行で区切ってあります

2階への返信は3階の私の投稿を参照してください

これは隣り合わせとは関係ありません、重要です SQLとロジックをうまく処理した方が良いですプログラムが間違っていないことを確認するために、この順序に依存しないでください。想像した順序で挿入することは不可能です

ユーザーがコメントを投稿し、ブロガーが返信する順序が同じではないことは承知しています。そのため、データベースストレージには順序がありません。データベースからデータを取得するときにSQLクエリステートメントにソート関数を追加して、希望する順序を達成できるようにし、Webページに簡単に出力できるようにしたいと考えています。順序付けされていないデータは、解決するために PHP にスローされます。したがって、特定のデータベース設計と SQL クエリのスキルが必要です




分割された行の意味がよくわかりません...
たとえば、訪問者が 2 つのコメントを投稿し、ブロガーが最初のコメントに返信した場合、

2 階への返信は 3 階の投稿を参照してください

これは隣り合うこととは関係がありません。プログラムが間違っていないことを確認するために、SQL とロジックを適切に処理することをお勧めします。この順序で挿入することは不可能です。ユーザーがコメントを投稿し、ブロガーが返信する順序が通常と同じではないことはわかっています。そのため、データベースからデータを取得するときに、SQL クエリ ステートメントに並べ替え関数を追加したいと考えています。希望する順序を実現できるため、順序のないデータを PHP にスローして解決するのではなく、Web ページに簡単に出力できます。したがって、特定のデータベース設計と SQL クエリのスキルが必要です
order by を使用することはできないでしょうか?共通点を見つけて、最初に PID、次にその他を見つけて、1 つずつ並べ替えます

order byは使えないのですか?共通点を見つけて、最初に PID、次にその他の ID を 1 つずつ並べ替えます
共通点はありません。考えてみました

質問と要件を正しく理解しているかどうかわかりません。

この問題にはいくつかの解決策があると思います:

1. 1 つは、最も複雑な状況は「コメントの投稿後、コメントのコメント」のみであるため、単にコメント専用の新しいテーブルをセットアップするだけです。コメントを保存します。 order by について議論するよりも、この方が信頼できると思います。

2. 1 つは、投稿を表示し (問題ないはずです)、次にコメントを表示する方法です (これも問題ありません)。 foreach が各コメントを表示するときに、コメントのコメントを表示するクエリをいくつか呼び出します。

個人的には、2 番目の方法を使用することをお勧めします。

ところで、この質問は実際には初歩的なものではありません。

固定レベルが 2 レベルであると言うのは簡単です
http://sqlfiddle.com/#!2/e433e/1
このステートメントは mysql モデレーターから学びました

select * from `comment` order by if(pid=0,id,pid) asc
ログイン後にコピー

このステートメントは注意深く研究する必要があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

See all articles