ホームページ  >  記事  >  バックエンド開発  >  discuzでこのようなSQLを書く方法

discuzでこのようなSQLを書く方法

WBOY
WBOYオリジナル
2016-06-23 13:48:011062ブラウズ

条件は、 あるセクションの、ある機密情報のデータ


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

あるセクションの下に表示できる機密情報(利用可能)

function get_threadclass($fid){		$threadtypes = C::t('forum_forumfield')->fetch($fid);		$threadtypes = dunserialize($threadtypes['threadtypes']);		foreach(C::t('forum_threadclass')->fetch_all_by_fid($fid) as $type) {			if(isset($threadtypes['types'][$type['typeid']])) {				$return[]=$type;			}		}		return $return;	}

の下に表示できるあるセクションの分類情報 (入手可能)

function get_threadclass($fid){		$threadtypes = C::t('forum_forumfield')->fetch($fid);		$threadtypes = dunserialize($threadtypes['threadtypes']);		foreach(C::t('forum_threadclass')->fetch_all_by_fid($fid) as $type) {			if(isset($threadtypes['types'][$type['typeid']])) {				$return[]=$type;			}		}		return $return;	}




私の表現に何か問題があるようです: こんな感じです
主に投稿のメッセージ欄の情報が欲しいのですが、AサブのトピックDを条件にしていますセクションの下のセクションは分類されています すべての投稿のメッセージ内容
考えてみたら、pro_forum_post テーブルとトピック分類テーブル pre_forum_threadclass を使用する必要があるようです

pro_forum_post にはメッセージ投稿内容情報のフィールドがあり、pre_forum_threadclassにはトピック分類テーブルがありますが、これら 2 つのテーブルはどのように関連しているのでしょうか?

文章を書いたのですが、何が間違っているのかわかりません。
これは私が書いたものです: SELECT sh_forum_post.message, sh_forum_post.fid FROM sh_forum_post, sh_forum_threadclass WHERE sh_forum_post.fid = 128 AND sh_forum_threadclass.`name` = 'Beautiful Picture'

discuz のテーブルについて非常に気がかりな点があります。つまり、多くのテーブルのフィールドは関連性がなく独立しているため、関連性の条件を作ることは不可能です

特定のセクションの下に表示できる分類情報 (利用可能)

function get_threadclass($fid){		$threadtypes = C::t('forum_forumfield')->fetch($fid);		$threadtypes = dunserialize($threadtypes['threadtypes']);		foreach(C::t('forum_threadclass')->fetch_all_by_fid($fid) as $type) {			if(isset($threadtypes['types'][$type['typeid']])) {				$return[]=$type;			}		}		return $return;	}



ちょっと混乱しそうですが、私はこのように考えています。フォーラムのデフォルトのソースコードで、トピックのカテゴリをクリックして、必要な効果を取得します。ソースコードを見ると、この SQL があります
では、そのアドレスはどうやって書いたのでしょうか?これは次のようなものです、解析を手伝ってください、ありがとう jam00
http://127.0.0.1/forum.php?mod=forumdisplay&fid=129&filter=typeid&typeid=26

pre_forum_thread のフィールド typeid は分類情報の ID です

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