类别产品菜单栏没有链接

时间:2017-09-12 13:04:41

标签: php codeigniter codeigniter-3

我在我的网站上创建了一个类别菜单栏,因此您可以单击某个类别并查看该类别的产品,但它不适合我,我一定做错了。

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>

我能够回显数据库中的所有类别,但链接不起作用。 我希望有一个人可以帮助我, 谢谢!

2 个答案:

答案 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 Helperanchor()功能。在此示例生效之前,您需要加载该帮助程序。

<?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>