我在我的网站上创建了一个类别菜单栏,因此您可以单击某个类别并查看该类别的产品,但它不适合我,我一定做错了。
Some database information:
categories table:
Row 1: id
Row 2: name
In the products table:
Row: category_id
我使用了db helper(db_helper.php)
<?php if (!function_exists('get_categories_h')) {
function get_categories_h(){
$CI = get_instance();
$categories = $CI->Product_model->get_categories();
return $categories;
} } ?>
这是我的Product_model文件,我在其中创建了get_categories函数:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Product_model extends CI_model {
public function saveProduct($data) {
$this->db->insert('products', $data);
$product_id = $this->db->insert_id();
return $product_id;
}
public function get_product_details($product_id) {
$arrReturn = array();
$this->db->select('*');
$this->db->from('products');
$this->db->where('product_id', $product_id);
$query = $this->db->get();
$result = $query->result_array();
if (!empty($result)) {
$arrReturn = $result[0];
}
return $arrReturn;
}
/*
Get categories
*/
public function get_categories(){
$this->db->select('*');
$this->db->from('categories');
$query = $this->db->get();
$result = $query->result_array();
return $result;
}
}
?>
这是我的视图文件中的菜单栏,我在其中加载了所有类别。
<div class="container-fluid">
<div class="row">
<div class="col-lg-1">
<div id="categorymenu">
<center> <h3>Categorieën</h3> </center>
<ul class="list-group">
<?php foreach (get_categories_h() as $category) : ?>
<li class="list-group-item">
<a href="<?php echo $category->id; ?>"><?php echo $category['name']; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
</div>
</div>
我能够回显数据库中的所有类别,但链接不起作用。 我希望有一个人可以帮助我, 谢谢!
答案 0 :(得分:0)
试试这个:
<li class="list-group-item">
<a href="<?php echo $category->id;?>">
<?php echo $category['name']; ?>
</a>
</li>
答案 1 :(得分:0)
看起来您正在为href值创建一个无意义的网址。除非&#39; id&#39;领域的类别&#39; table包含使用&#34; controller / method / id&#34;的值。计划您正在创建的链接不会去任何地方。
&#39; id&#39;字段可能只包含数字。是
如果是这样,您的链接可能看起来像http://example.com/123
,除非您有一个名为&#34; 123&#34;的控制器,否则它不会去任何地方。
你需要某些地方的hrefs。我建议使用Codeigniter URL Helper的anchor()
功能。在此示例生效之前,您需要加载该帮助程序。
<?php foreach (get_categories_h() as $category) : ?>
<li class="list-group-item">
<?php echo anchor("controller_name/controller_method/{$category->id}", $category['name']); ?>
</li>
<?php endforeach; ?>
如果没有anchor()
函数,则会写入
<a href="controller_name/controller_method/<?php echo $category->id;?>"> <?php echo $category['name']; ?></a>