私は非常に始めから、私はコードイグナイタで小さなCMSを作成していると私はいくつかの問題に直面します。私はPHPフレームワークを扱う上でジュニアなので、私に怒らないようにしてください。CodeIgniter。許可されたメモリサイズのエラーと改ページ
現在、私はデータベースからの車両モデルリストを持っています。だから私はCodeIgniterのからのエラーを得た:エラー
メッセージ:
A PHPエラーが
重要度発生しました。このとき
の可メモリサイズをIはすでにコメントしていますコードイグナイター出力コンフィギュレーションファイルのコード行。このエラーが表示されます。そして、私は持っている価値の明確なリストを持っています。しかし、あまりにも多く。だから私はページ変更について考えました。
あなたの意見は何ですか、それは私を助けることができますか?たぶん、より良いアドバイス/提案がありますか?
私はそのエラーを無効にしてページネーションを作成しようとしましたが、失敗しました。
は、これは私のコントローラである場合、 "リスト":
public function lists(){
//get models
$data['models'] = $this->Model_model->get_models('id', 'DESC');
//get brands
$data['brands'] = $this->Model_model->get_brands('id', 'DESC');
//get brands
$data['brand'] = $this->Model_model->get_brands('id', 'DESC');
//get categories
$data['categories'] = $this->Model_model->get_categories('id', 'DESC');
//get Users
//$data['users'] = $this->User_model->get_users('id', 'DESC', 5);
//View
$data['main_content'] = 'admin/models/lists';
$this->load->view('admin/layouts/main', $data);
}
これは、モデルファイルからコードです:
<?php
class Model_model extends CI_Model
{
/*
* Get vehicle models
*
* @param - $order_by (string)
* @param - $sort (string)
* @param - $limit (int)
* @param - $offset (int)
*
* */
public function get_models($order_by = null, $sort = 'DESC', $limit = null, $offset = 0)
{
$this->db->select('vm.*, vb.v_brand_name as v_brand_name, vc.category_name as category_name, u.first_name, u.last_name');
$this->db->from('vehicle_models as vm');
$this->db->join('vehicle_brands as vb', 'vb.id = vm.vehicle_brand_id');
$this->db->join('vehicle_category as vc', 'vc.id = vb.vehicle_category_id', 'vb.vehicle_category_id = vm.vehicle_category_id', 'left');
$this->db->join('users as u', 'u.id = vb.user_id', 'left');
if ($limit != null) {
$this->db->limit($limit, $offset);
}
if ($order_by != null) {
$this->db->order_by($order_by, $sort);
}
$query = $this->db->get();
return $query->result();
}
/*
*
*Get Menu Items
*
* */
/* public function get_models(){
$this->db->where('id', 1);
$this->db->order_by('id');
$query = $this->db->get('vehicle_models');
return $query->result;
}*/
/*
*GET SINGLE ARTICLE
* */
public function get_model($id)
{
$this->db->where('id', $id);
$query = $this->db->get('vehicle_models');
return $query->row();
}
/*
* Get vehicle Categories
*
* @param - $order_by (string)
* @param - $sort (string)
* @param - $limit (int)
* @param - $offset (int)
*
* */
public function get_categories($order_by = null, $sort = 'DESC', $limit = null, $offset = 0)
{
$this->db->select('*');
$this->db->from('vehicle_category');
if ($limit != null) {
$this->db->limit($limit, $offset);
}
if ($order_by != null) {
$this->db->order_by($order_by, $sort);
}
$query = $this->db->get();
return $query->result();
}
/*
* Get vehicle Brands
*
* @param - $order_by (string)
* @param - $sort (string)
* @param - $limit (int)
* @param - $offset (int)
*
* */
public function get_brands($order_by = null, $sort = 'DESC', $limit = null, $offset = 0)
{
$this->db->select('*');
$this->db->from('vehicle_brands');
if ($limit != null) {
$this->db->limit($limit, $offset);
}
if ($order_by != null) {
$this->db->order_by($order_by, $sort);
}
$query = $this->db->get();
return $query->result();
}
/*
*
*Insert Model
*
* */
public function insert($data){
$this->db->insert('vehicle_models', $data);
return true;
}
/*public function insert_models($data){
$models = implode(',',$_POST['v_model_name']);
$this->db->insert('vehicle_models', $data);
$this->db->into('vehicle_models', $data);
$this->db->values($model);
}*/
public function update($data, $id){
$this->db->where('id', $id);
$this->db->update('vehicle_models', $data);
return true;
}
public function did_delete_row($id){
$this -> db -> where('id', $id);
$this -> db -> delete('vehicle_models');
return true;
}
/* --------------------------- PAGINATION ---------------------------------*/
public function __construct() {
parent::__construct();
}
public function record_count() {
return $this->db->count_all("vehicle_models");
}
public function fetch_countries($limit, $start) {
$this->db->limit($limit, $start);
$query = $this->db->get("vehicle_models");
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
/*-------------------------- AND OF PAGINATION ---------------------------------------*/
}
そして、これが私のビューファイルです:
<?php foreach($categories as $category) :?>
<?php
$this->load->helper("url");/
$postid = $this->uri->segment(4);
if ($category->id == $postid):
?>
<!-- ************************* ****************************************-->
<div class="table-responsive col-md-12">
<h2><?php echo $category->category_name; ?></h2>
<table class="table table-striped">
<thead>
<tr>
<th>Model (+View)</th>
<th>Brand</th>
<th>Category</th>
<th></th>
<th>Moves</th>
</tr>
</thead>
<tbody>
<?php foreach ($models as $model) : ?>
<?php if($model->vehicle_category_id == $postid) :?> <!-
<tr>
<td>
<a href="#" id="<?php echo $model->id; ?>"><?php echo $model->v_model_name; ?></a>
</td>
<?php foreach($brands as $brand) :?><?php if($model->vehicle_brand_id == $brand->id) :?>
<td>
<a href="<?php echo base_url(); ?>admin/brands/edit/<?php echo $brand->id; ?>" id="<?php echo $brand->id; ?>"><?php echo $brand->v_brand_name; ?></a>
</td>
<?php endif; ?>
<?php endforeach; ?>
<td>
<a href="#" id="<?php echo $model->vehicle_category_id; ?>"><?php echo $model->category_name; ?></a>
</td>
<td>
</td>
<td>
<a href="<?php echo base_url(); ?>admin/models/edit/<?php echo $model->id; ?>" class="btn btn-primary">Edit</a>
<a href="<?php echo base_url(); ?>admin/models/delete_row/<?php echo $model->id; ?>" class="btn btn-danger">Delete</a>
</td>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</tbody>
</table>
</div>
<!-- ************************* ****************************************-->
<?php endif;?>
<?php endforeach; ?>
**その他の質問** 誰かがPAGINATIONの作成を手伝うことができますか?
私は、「リスト」コントローラ機能にこのコードを入れてみましたが、そのdidntの 作業:
public function lists1(){
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/test/admin/Models/lists/';
$config['per_page'] = 5;
$config['num_links'] = 5;
$config['total_rows'] = $this->db->get('vehicle_models')->num_rows();
/*$config['total_rows'] = $this->db->get_models('v_model_name');*/
$this->pagination->initialize($config);
$data['query'] = $this->db->get('vehicle_models', $config['per_page'],$this->uri->segment(4)); /*segment*/
$this->load->view('admin/models/lists', $data); /*nuoroda*/
echo $this->pagination->create_links();
$data['main_content'] = 'admin/models/lists';
$this->load->view('admin/layouts/main', $data);
ウィルのページネーションは私が多くのリストアイテムに対処するのに役立ちますか? 誰かがコードを教えてくれますか?ありがとう。