単純なフォーラムの検索フォームを作成していますが、興味のあるフィールドのみを選択するソリューションを見つけることはできません。フォーラムのテーブル、名前の「メッセージ」(MySQLは)このような構造を使用しています。インデックスの種類として使用される特定の行のみを選択するMYSQLクエリを変更します。
MessageID - FirstMsg - Content
201 - 0 - Jack and Rose
202 - 201 - Rose
203 - 201 - Jack, Rose, David
204 - 0 - Bill
205 - 204 - Rose
206 - 0 - Rose and David
207 - 206 - David
主な問題は、私が使用しているPHPのフォーラムのページは「親」としてFirstMsg 0とを持つもので、メッセージを認識することです0とMessageIDがFirstMsgに等しいものへの応答として0と異なるFirstMsg。
es。メッセージID 201と201との行は、私は簡単にコンテンツを取得するのMySQLクエリとPHPで201
を投稿する応答として見られるであろう202および203の親である:
$MySql = "SELECT * FROM Messages WHERE Content LIKE '%$Search%'" ORDER BY Date DESC LIMIT 1, 30";
$Result = mysql_query($MySql);
while($rs = mysql_fetch_array($Result)) {
}
例えば、ローズを探索します
201 - 0 - Jack and Rose
202 - 201 - Rose
203 - 201 - Jack, Rose, David
205 - 204 - Rose
206 - 0 - Rose and David
私は、クエリで、取得するためにも、「ローズ」の唯一の「親」の要素を、必要とする親メッセージだけでに存在でもある。私は、whileループ内のコンテンツをエコー、取得します返信の1つ:
201 - 0 - Jack and Rose
204 - 0 - Bill
206 - 0 - Rose and David
MySqlクエリのみを変更することは可能ですか?私はそれが必要なのは、クエリ自体が、同じページの中で、ページ数あたりの最大メッセージ数が増えたときにPHPによって生成された "ページ"間を移動するためです。助けを前にありがとう。
にを変更、親メッセージでソートしたい場合は、フォーマットに時間がかかるしてください( "{}"エディタコントロールを使用して)問題のコードを適切に記述してください。 –