私が取り組んでいる単純な cms の場合、定義されたページ内に記事を表示するクラスを作成しました。
たとえば、必要なもの: index.php?page=1 page_id 1 に一致するすべての記事が表示されます。
これまでのところ、page_id 1 のすべての記事が表示されますが、page_id 2 では機能しません。page_id 2 のレコードが db テーブルに存在します。
クラス:
include_once('./includes/config.php');
class Content {
public $id;
public $page_id;
public $title;
public $content;
public $position;
var $conn;
function Content()
{
$this->conn = mysql_connect(Config::DB_HOST, Config::DB_USER, Config::DB_PASS);
mysql_select_db(Config::DB_NAME, $this->conn);
}
function disp_page_articles($page)
{
$sql =
" SELECT
id
, page_id
, title
, content
, date
, position
FROM
articles
WHERE
page_id = $page
ORDER BY
id
, position";
$result = mysql_query($sql, $this->conn) or die(mysql_error());
if(!$result){
return array();
}
while($article = mysql_fetch_assoc($result)){
$content .= '
<div class="blok">
<h2>
</br>
'.$article['title'].'</h2>
</br>
'.$article['content'].'
</br>
'.$article['date'].'
</div>
';
}
return $content;
}
}
クラスの実行:
include("classes/content.class.php");
$content = "";
$content = new Content();
$page = $_GET['page'];
echo $content->disp_page_articles($page);
echo "<p>Page ID: ". $_GET['page']."</p>";
ここで何かを忘れましたか?