私はsmartyとphpを使用しています。2 つのドロップダウン メニューがあります。また、カテゴリの id を持つニュースを含む 2 つのデータベースがあります。メニューの 1 つがカテゴリを読み取ります。最初のメニュー カテゴリから選択すると、ページが自動的に更新され、そのカテゴリのニュースが 2 番目のドロップダウンに表示されます。
<form method="post">
<h3>Category of news</h3>
<select name="categoriesForm" id="news_cat">
<option value="0"></option>
{foreach from=$categories item=i}
<option value="{$i.id}"> {$i.name|stripslashes} </option>
{/foreach}
</select>
<h3 style="position:absolute;left:500px; top:130px;">Name of news</h3>
<select name="news" id="news_name" style="position:absolute;left:500px; top:190px;">
<option value="0"></option>
{foreach from=$news item=i}
<option value="{$i.id}"> {$i.name|stripslashes} </option>
{/foreach}
</select>
</form>
これはコントローラーです:
function edit_news(){
$cat = $this->news->getCategoriesNews();
$this->assign('categories',$cat);
$selected_key = $_POST['categoriesForm'];
$news = $this->news->getNameNews($selected_key);
$this->assign('news',$news);
}
そしてこれがモデルです
function getCategoriesNews(){
return $this->db->GetAll("SELECT id, name FROM categories ");
}
function getNameNews($category){
return $this->db->GetAll("SELECT name,cat_id FROM news WHERE cat_id = '$category' ");
}