我在CodeIgniter中創建一個網站,我試圖製作一個包含所有類別的菜單欄,當您點擊某個類別時,它必須顯示所有的產品該類別,但它並不真正工作。codeigniter中的產品類別功能不起作用
當我打開category.php視圖頁面而不是側面菜單欄時,確實有很大的白色空白鏈接導致什麼都沒有。另外,當我點擊其中一個鏈接時,出現錯誤。這是錯誤:
An Error Was Encountered
The URI you submitted has disallowed characters.
而且這是當我加載了category.php查看錯誤信息:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: views/allecadeaus.php
Line Number: 26
Backtrace:
File: /home/ubuntu/workspace/application/views/allecadeaus.php
Line: 26
Function: _error_handler
File: /home/ubuntu/workspace/application/controllers/AlleCadeausController.php
Line: 12
Function: view
File: /home/ubuntu/workspace/index.php
Line: 315
Function: require_once
allecadeaus.php文件:
<?php include_once ('templates/header.php'); ?>
<!-- Alle cadeaus gele title bovenaan pagina -->
<div class="container-fluid">
<div class="row">
<div class="col-lg-12 bg-warning" style="font-size:25px">
<center>Alle cadeaus</center>
</div>
</div>
</div>
<hr />
<br>
<!-- Cadeau categorie side menu -->
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<div id="categorymenu">
<center> <h3>Categorieën</h3> </center>
<ul class="list-group">
<?php foreach ($category() as $row) : ?>
<li class="list-group-item">
<a href="<?php echo base_url('Product/category/'.$row->id);?>"> <?php echo $row->name; ?></a>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
<!-- Laat cadeau zien op alle cadeaus pagina -->
<div class="col-md-8">
<?php foreach($products as $product) : ?>
<div class="col-md-2">
<div id="product">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product['product_id']; ?>">
<img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>">
</a>
<div class="product_naam"><?php echo $product['product_naam']; ?></div>
<div class="ophaal_plaats">
<?php echo $product['ophaal_plaats']; ?>
</div>
<div class="aangeboden_door">
<p>Aangeboden door: Peter</p>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="clearfix"></div>
<?php include_once ('templates/footer.php'); ?>
這是我的category.php查看頁面:
<?php include_once ('templates/header.php'); ?>
<!-- Alle cadeaus gele title bovenaan pagina -->
<div class="container-fluid">
<div class="row">
<div class="col-lg-12 bg-warning" style="font-size:25px">
<center>Alle cadeaus</center>
</div>
</div>
</div>
<hr />
<br>
<!-- Cadeau categorie side menu -->
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<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 base_url('Product/category/'.$category->id);?>"> <?php echo $category['name']; ?></a>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
<!-- Laat cadeau zien op alle cadeaus pagina -->
<div class="col-md-8">
<?php foreach($products as $product) : ?>
<div class="col-md-2">
<div id="product">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product['product_id']; ?>">
<img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>">
</a>
<div class="product_naam"><?php echo $product['product_naam']; ?></div>
<div class="ophaal_plaats">
<?php echo $product['ophaal_plaats']; ?>
</div>
<div class="aangeboden_door">
<p>Aangeboden door: Peter</p>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="clearfix"></div>
<?php include_once ('templates/footer.php'); ?>
這是我在我的Product.php控制文件中的函數:
public function category($id)
{
$data['title'] = 'Category';
$data['page'] = 'Product/category';
$data['category'] = $this->Category_model->findByCategory($id);
$data['products'] = $this->Product_model->findByCategory($id);
$this->load->view('category', $data);
}
這些都是在我的產品模型的功能(Product_model.php):
public function get_categories(){
$this->db->select('*');
$this->db->from('categories');
$query = $this->db->get();
$result = $query->result_array();
return $result;
}
public function findAll(){
return $this->db->get('product')->result();
}
public function findByCategory($category_id){
$this->db->where('category_id', $category_id);
return $this->db->get('product')->result();
}
這是我的Category_model.php文件:
<?php
class Category_model extends CI_Model {
public function findAll(){
return $this->db->get('category')->result();
}
public function find($id){
$this->db->where('id', $id);
return $this->db->get('category')->row();
}
}
?>
一些數據庫的信息:
Table 1: products
-product_id
-product_naam
-product_beschrijving
-user_id
-category_id
table 2: categories: 2 columns:
1.id
2.name
這是我的類別表的外觀:
id name
1 Cosmetica
2 Antiek en kunst
3 Voor kinderen
4 Apparatuur
5 Boeken
6 Muziek en instrumenten
7 Spellen
8 Sieraden
9 Overige cadeaus
10 Sport
在其下方白色的大空間有一個錯誤消息。在瀏覽器中查看頁面源代碼並查看HTML源代碼以查看錯誤消息的內容。此外,啓用錯誤日誌記錄並查看錯誤日誌以查看問題所在。可能有多個問題,但一旦你可以看到它們是什麼,你可以通過他們的工作 – MrCarrot
它的這個錯誤:遇到一個PHP錯誤 嚴重性:注意 消息:試圖讓非對象 文件名的屬性:views/allecadeaus。PHP 行號:26 回溯: 文件:/home/ubuntu/workspace/application/views/allecadeaus.php 線:26 功能:_error_handler 文件:/首頁/ Ubuntu的/工作區/應用/控制器/ AlleCadeausController.php 線:12 功能:視圖 文件:/home/ubuntu/workspace/index.php 線:315 功能:require_once – JohnDoe122
,則檢查視圖/ allecadeaus.php行號:26 – Vickel