ورود

View Full Version : مشكل در استفاده از paging در codeignigter



z_b624
دوشنبه 27 مرداد 1393, 20:04 عصر
سلام دوستان من وقتي از paging توي كدايگنايتر استفاده ميكنم در حالت عادي درست كار ميكنه ولي وقتي كه پارامتري هم توي url دارم كه كار نميكنه. يعني وقتي صفحه رو عوض ميكنم url عوض ميشه ولي مطالب صفحه عوض نميشه
url ام اين طوريه:http://localhost/hotel/index.php/controller/index_2/?id=2&per_page=3
توي اين خط هم اگه segment رو 4 كنم هم اتفاقي نميافته
$page=($this->uri->segment(3))?$this->uri->segment(3):0;
خواهش ميكنم راهنماييم كنيد.:گریه:

joker
سه شنبه 28 مرداد 1393, 14:46 عصر
این چیزی که شما نوشتن حالت GET را داره که توی کد ایگنیتر عملا بلااستفاده هست
سگمنتها با / معرفی میشوند در آدرس url

https://ellislab.com/codeigniter/user-guide/libraries/uri.html

z_b624
چهارشنبه 29 مرداد 1393, 12:00 عصر
سلام ولي من توي پروژه ام از get استفاده ميكنم و ومشكلي هم ندارم فقط توي اينجا به مشكل بر خوردم.
من قبلا بدون get همين برنامه رو نوشته بودم ولي چون اون موقع هم مشكل داشتم برنامه مو اين طوري تغيير دادم ،اگه فكر ميكنيد مشكل از get پاكش كنم.
بزاريد مشكلم رو يه بار ديگه توضيح بدم: در حالت عادي paging ام توي صفحات ديگه درست كار ميكنه ولي اينجا چون يه پارامتر توي url دارم مثلا اين جوري:localhost/hotel/index.php/controller/3
حالا وقتي page رو عوض ميكنم به جاي اينكه localhost/hotel/index.php/controller/3/2 اين طوري بشه اين 2 جايگزين 3 قبلي ميشه يعني اين طوري:localhost/hotel/index.php/controller/2 بنابراين اطلاعات مربوط به پارامتر 2 رو نشون ميده و نه صفحه دوم رو.
ممنون ميشم اگه راهنماييم كنيد كه چه طور ميتونم 3 رو ثابت نگه دارم و 2 رو به بعدش اضافه كنم.

z_b624
چهارشنبه 29 مرداد 1393, 12:18 عصر
يه سوال ديگه ور‍ژن كدايگنايتر من 2.0.0 هستش مشكلم كه به خاطر اين نيست؟ نسخه هاي مختلف كدايگنايتر چه فرقي با هم دارن؟

joker
چهارشنبه 29 مرداد 1393, 13:47 عصر
تغییرات ورژنهای مختلف را از اینجا ببینید ( الان ورژن 2.2.0 هست آخرین نسخه )
https://ellislab.com/codeigniter/user-guide/changelog.html

اون قسمت از کدتون که مشکل دارید را بزارید چک کنم ،

z_b624
چهارشنبه 29 مرداد 1393, 15:52 عصر
////////////////view/////////////////////////////
<td><a href="<?php echo base_url().'index.php/controller/index_2/?id='.$value->shahr_id;?> "><?php echo $value->name; ?></a></td>

///////////////controller//////////////

public function index_2()
{
$data['row']=$this->hotelmodel->select_shahr_2();
/*$data['select']=$this->hotelmodel->search_shahrs_hotel($id);*/
////////////////paging///////////////////////////
$this->load->library('input');
$id=$this->input->get('id');
$this->load->library('pagination');
//$config=array();
$config['base_url']=base_url().'index.php/controller/index_2/?id='.$id;
$config['total_rows']=$this->hotelmodel->record_count_hotel();
$config['per_page']=3;
$config['display_pages']=TRUE;
$config['page_query_string']=TRUE;
//$config['use_page_numbers'] = TRUE ;
$config['uri_segment']=3;////////3 ro be 4 tageer dadam
$config['first_link']='نخست';
$config['next_link']='بعدي';
$config['prev_link']='قبلي';
$config['last_link']='آخر';
$this->pagination->initialize($config);
$page=($this->uri->segment(3))?$this->uri->segment(3):0;//////3 ro be 4 tageer dadam
$input=array('id'=>$id,'limit'=>$config['per_page'],'start'=>$page);
$data['select']=$this->hotelmodel->search_shahrs_hotel_2($input);
$result=$this->hotelmodel->search_shahrs_hotel_2($input);
$data['data']=$result;
$data["links"] = $this->pagination->create_links();
//echo $data["link"];
////////////////////////////paging//////////////////
$data['amar']=$this->hotelmodel->select_tbl_amar2();
foreach($data['amar'] as $row=>$val)
{
$id=$val->id;
}
$data['amar2']=$this->hotelmodel->select_tbl_amar3($id);
$this->template->load('template/temp_login_paging','login_2',$data);
}

/////////////model///////////////////
function search_shahrs_hotel_2($input)
{
$this->db->limit($input['limit'],$input['start']);
$this->db->where('shahr_id',$input['id']);
$query=$this->db->get('hotel');
return $query->result();
}

z_b624
پنج شنبه 30 مرداد 1393, 11:04 صبح
خواهش ميكنم يكي كمكم كنه.

z_b624
پنج شنبه 30 مرداد 1393, 14:34 عصر
كسي نيست منو كمك كنه؟؟؟؟؟؟؟؟؟؟؟؟؟؟