2017-09-12 4 views
-1

カテゴリをクリックしてそのカテゴリの商品を見ることができるように、私のウェブサイトにカテゴリメニューバーを作成しましたが、それは私のためには機能しません。カテゴリ製品のメニューバーがリンクされていません

Some database information: 

categories table: 
Row 1: id 
Row 2: name 

In the products table: 
Row: category_id 

私はこれは私がget_categories機能を作った私のProduct_modelファイルであるデシベルヘルパー(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; 
    } } ?> 

を使用:

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

データベースからすべてのカテゴリをエコーすることはできますが、リンクは機能していません。 誰かが私を助けることを願って、 ありがとう!

+1

はここ2つのPHPの開始タグ –

+1

で書き込まれます '<?<?私は思うphp' TYPO。 PHPエラーログ – RiggsFolly

+0

を見てすべてのデバッグを開始する必要がありますねえ、私はそれを試してみました。 – lablanco

答えて

0

はこれを試してください:あなたはhrefの値のためのナンセンスURLを作成しているよう

<li class="list-group-item"> 
    <a href="<?php echo $category->id;?>"> 
     <?php echo $category['name']; ?> 
    </a> 
</li> 
+0

作業中ではありません – lablanco

0

が見えます。 'categories'テーブルの 'id'フィールドに「controller/method/id」スキームを使用する値が含まれていない限り、作成しているリンクはどこにもありません。

「id」フィールドには数字だけが含まれている可能性があります。はい?

そうなら、あなたのリンクはおそらくhttp://example.com/123のように見えますが、コントローラに「123」という名前のコントローラがないとどこにも行きません。

どこかに行く外枠が必要です。 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> 
+0

私のカテゴリ製品機能のコントローラ機能はありません。ヘルパーモデルと私のデータベースからカテゴリをエコーするためのビュー – lablanco

+0

あなたの質問は「リンクが機能していません」と述べています。私の答えは理由を説明します。あなたはリンクが何をすると思いますか? – DFriend

関連する問題