こんにちは私はjoomla用のjbusinessdirectoryコンポーネントをインストールしています。これはtmpl/default.phpファイルのmod_jbusinessdirectoryという名前のモジュールです(これはビジネスリスティングの検索モジュールです)。カテゴリとサブカテゴリを論理的に選択
- メインカテゴリ1
サブカテゴリ1つのサブカテゴリ2 subcateg:私はこのようなカテゴリとサブカテゴリを取得する(下記参照)
<?php if($params->get('showCategories')){ ?> <div class="select"> <div class="categoryic"></div> <select name="categorySearch" class="select-styled" id="categories"> <option value="0">category</option> <?php foreach($categories as $category){?> <option value="<?php echo $category->id?>" <?php echo $session->get('categorySearch')==$category->id && $preserve?" selected ":"" ?> ><?php echo $category->name?></option> <?php if(!empty($category->subcategories)){?> <?php foreach($category->subcategories as $subCat){?> <option value="<?php echo $subCat->id?>" <?php echo $session->get('categorySearch')==$subCat->id && $preserve?" selected ":"" ?> >-- <?php echo $subCat->name?></option> <?php }?> <?php }?> <?php }?> </select> </div> <?php }?>
このコードから:選択したコードを持っていますここORY 3
メインカテゴリ2
- サブカテゴリ1サブカテゴリ2サブカテゴリ3
スクリーンショット:私はデータベース
からカテゴリとサブカテゴリを取得する機能を持っているhelper.phpで categories and sub categories screenshot
static function getMainCategories(){
$db = JFactory::getDBO();
$query = ' SELECT * FROM #__jbusinessdirectory_categories where parent_id=1 and published=1 order by name';
$db->setQuery($query);
return $db->loadObjectList();
}
static function getSubCategories(){
$db = JFactory::getDBO();
$query = ' SELECT c.* FROM #__jbusinessdirectory_categories c
inner join #__jbusinessdirectory_categories cc on c.parent_id = cc.id where c.parent_id!=1 and cc.parent_id = 1 and c.published=1
order by c.name';
$db->setQuery($query,0,1000);
$result = $db->loadObjectList();
return $result;
}
最後に、modjbusinesディレクトリこのような私がPHPを持っているの.phpファイル:
if($params->get('showCategories')){
$categories = modJBusinessDirectoryHelper::getMainCategories();
if($params->get('showSubCategories')){
$subCategories = modJBusinessDirectoryHelper::getSubCategories();
foreach($categories as $category){
foreach($subCategories as $subCat){
if($category->id == $subCat->parent_id){
if(!isset($category->subcategories)){
$category->subcategories = array();
}
$category->subcategories[] = $subCat;
}
}
}
}
}
カテゴリとサブカテゴリテーブル構造のスクリーンショット here
は、私の質問は:どのように私は2つの選択クエリの代わりのものを作るのですか。最初のクエリではメインカテゴリを取得し、2番目のクエリではサブカテゴリを取得します(例:最初のクエリからメインカテゴリの書籍を選択し、2番目のクエリで子供を選択する場合はサブカテゴリのみを表示する必要があります子供の本)。
あなたの英語は綴り間違いがいくつかありますが、あなたがそれらの意味を理解して訂正しました。また、最初のクエリの結果を変数に、2番目のクエリをexample booksに入れようとしました。 'あなたが必要とする列を選択してくださいどこからMainCategoryColumn = $ MainCategoryVariableとSubcategoryColumn = $ inputVariable' – BRoebie
答えをありがとう、しかし私は初心者です、私はあなたが意味するものを理解できませんでした –
メインカテゴリとサブカテゴリは1列ですが、 have parent_id column –