PHPとMySQLを使用していると仮定しましょう。
私はこれを可能な限り非常に単純に保ちます。おそらく基本的な例でこれらのファイルに加えて、希望に満ちた説明的なSQLテーブル(討論、コメントなど)が必要です。
- /debatelist.php | すべてのディベートをディベートするためのフォームをディベートします
- /debateprocessor.php | 'オールインワン'データ操作ファイル。
- /debate_detail.php | 討論の索引が指す詳細ページ。
ディベートを作成するためのフォーム
<form action='debateprocessor.php' action='POST'>
<input type='hidden' name='action' value='create'/>
<input type='text name='debate_name'/>
/// Other inputs - debate topic, debate author, subject etc? same as above
</form>
次に、フォームデータをdebateprocessor.phpに送信し、そこでサニタイズして準備します。
$ _GET ['action'] = "create" #thisは、ディベートを作成していることを示しています$ _GET ['debate_name'] = "SomeDebate"
debateprocessor.php-あなたはそれを引き込みたいと思うでしょう:
if (mysql_real_escape_text($_GET['action'])) == 'create'){
$debate_name = mysql_real_escape_text($_GET['debate_name']);
//sanitize other variables as above
//Insert debate name
mysql_query=("INSERT INTO debates (debate_id,debate_name) VALUES ('$debate_name'");
}
アクションに注意してくださいif($ action =='foo'){//何かをする; }ステートメント-これにより、更新(コメント、討論名の編集など)をすべて1つのファイルで処理できるようになります。フォーム内のアクションの他の値は、「edit」、「add_comment」などです。これらすべてを実行するために個別のファイルを使用できますが、これにより、すべてを1つ実行できます。テーブルを変更するアクションごとに、上記のようなelseifsまたはその他のifステートメントを追加するだけです。
したがって、ディベートを表示すると、テーブルにディベートのマスターリストのようなものが表示されます。
debatelist.php
<?
$getDebates = mysql_query("SELECT * FROM debates";);
$rowNum = 0;
while($row = mysql_fetch_array($getDebates))
{
$thisDebate = $row['debate_name'];
$thisDebateID = $row['debate_id'];;
echo
"
<tr>
<td>
<a href='debate_detail.php?debateid=$thisDebateID'>
$thisDebate
</a>
</td>
</tr>
";
$rowNum++;
}
これにより、eaへのリンクを含むディベート名のリストが出力されます。PK、ディベートIDによってプルされた特定のディベートのdebate_detail.phpページ。そのファイルでは、SELECTの同様の組み合わせを使用します('WHERE debate_id ='xyz'のみを使用し、debate_id ='zyx' = debate_id='zyx'のコメントなどのテーブルを結合する可能性があります。