多かれ少なかれブログ記事を保持するテーブルがあります。構造は次のとおりです。
- id INT 主キー AUTO_INCREMENT
- ユーザー VARCHAR
- タイトル VARCHAR
- カテゴリ VARCHAR
- セクション VARCHAR
- post_body テキスト
- post_date DATETIME
セクション フィールドは基本的にサブカテゴリです。セクション用の 2 つ目のテーブルがあります。
- id INT 主キー AUTO_INCREMENT
- section_name VARCHAR
- カテゴリ VARCHAR
私がやろうとしているのは、次のような構造のページにリストを作成することです。
科学(これがカテゴリです)
地質学(これが最初のセクション)
タイトル1
タイトル2
タイトル3
等
生物学(第2セクション)
タイトル1
タイトル2
タイトル3
等
科学のカテゴリを持つすべてのセクションのその他
ユーザーが科学カテゴリの記事をクリックして表示すると、このページが表示されます。
これを達成するために多くのことを試みましたが、成功しませんでした。表示するセクション名を取得するのは簡単ですが、最初のクエリから取得したセクションに基づいてすべての記事のタイトルのクエリを作成することは、私が立ち往生しているところなので、その時点までの私のコードは次のとおりです。
if(isset($_GET['cat'])){
$cat = preg_replace('#[^a-z0-9_]#i','',$_GET['cat']);
$cat = str_replace('_',' ',$_GET['cat']);
$stmt = $db->prepare("SELECT section_name FROM sections WHERE category=:cat GROUP BY section_name");
$stmt->bindValue(':cat',$cat,PDO::PARAM_STR);
try{
$stmt->execute();
}
catch(PDOException $e){
echo $e->getMessage();
$db = null;
exit();
}
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$sectionName = $row[section_name];
}
}