古典的な PHP フォーラム プログラムがどのように書かれているかを簡単に分析してみませんか?
私はフォーラム プログラムの愛好家として、自由時間を利用してフォーラム執筆の経験について書きたいと思います。
私が書いたオープンソース フォーラムを例に挙げると、開発の焦点は最初のステップ、つまり公開ブロックをどのように配置するかにあります。これを一度書いてしまえば、次のステップは簡単になります。
このセクションは大きなセクションに分かれており、その下にさまざまな小さなセクションがあり、小さなセクションの下にサブセクションが存在する場合もあります。難易度を下げるため、サブフォーラム部分は無視されます。
デザインライブラリのデザインは 2 つのテーブルに分かれています
大セクション 2 フィールド
id => 主キー
bzone =>大きなセクション名
小セクション 5 フィールド
id => 主キー
szone => 小さなセクション名
マーク => 小さなセクションの説明
bid => 大セクションの主キーに対応する
ssort => 小さなセクションの並べ替え。小さなセクションを使用して大きなセクションの並べ替えに影響を与えることができます
フォーラム セクションのすべての機能部分を、これら 2 つのテーブルの設計で処理できますか?答えは「はい」です
コードの実装
$sql_block = "select * from " . C('db_prefix') . "small_block order by ssort desc,bid desc,szone desc";<br> $query_block = mysql_query($sql_block);<br> $data_block = array();<br> $data_big = array();<br> $time1 = date("Y-m-d");<br> $time1 .= " 00:00:00";<br> $time2 = date("Y-m-d");<br> $ 時間2. = "23:59:59"; while ($arr_block = mysql_fetch_array($query_block)) {<br> $data_block[] = $arr_block;<br> $ bsql = "select * from"。 $barrから $data_big[$arr_block['bid']] = $barr['bzone'];<br> ${'zhuti' . $arr_block['id']} = mysql_num_rows(mysql_query("select * from " . C('db_prefix') . "talk whereparentid=" . $arr_block['id']));<br> $this->assign("zhuti" . $arr_block['id'], ${'zhuti' . $arr_block['id']});<br> ${'tiezi1' . $arr_block['id']} = mysql_num_rows(mysql_query("select * from " . C('db_prefix') . "talk whereparentid=" . $arr_block['id']));<br> ${'tiezi2' . $arr_block['id']} = mysql_num_rows(mysql_query("select * from " . C('db_prefix') . "reply whereparentid2=" . $arr_block['id']));<br> ${'tiezi' . $arr_block['id']} = ${'tiezi1' . ${'tiezi2' . <br><br>