拖到現在才新增一筆記
但中間已經學超多東西根本來不及寫上部落格來
哀哀哀...也許我應該全力專心於在專案上的...
以上廢話
這篇是根據上篇範例所做的延伸筆記
上次範例中只是單純做簡單的查詢範例
查詢結果是全部都列出來的
我是想從基本之後再來帶入下條件的方式
所以才把條件式另外分一篇出來
請在application\models\getsqlmod.php上加上一些條件
function getdata($id) { // getdata副程式 $this->db->select ( 'name,ps' ); // 選擇要顯示的欄位 $this->db->where ( 'name', $id ); // name='$id' 意思一樣 // 看$id收到的值為何會跟著改變搜尋結果 $query = $this->db->get ( 'name' ); // 抓取資料庫指令 return $query; // 回傳抓取到的資料庫資料 }改寫getdata()副程式
其他部分都沒有動~所以就只擷擷取此段程式碼避免混淆重點
看不懂得請參考施前的文章重新學習吧~或是留言發問
假設我要取出帳號及密碼就好並且帳號要為'user'
但因為此範例資料庫本來就只有帳號及密碼所以select指令幾乎等於是多餘的
但這招學起來再多欄位的資料庫上用法是一樣的
再來改寫application\controllers\getdata.php
<?php if (! defined ( 'BASEPATH' )) exit ( 'No direct script access allowed' ); class getdata extends CI_Controller { public function index() { $this->load->model ( 'getsqlmod' ); // 載入model $query = $this->getsqlmod->getdata ( 'user' )->result_array (); // 使用getsqlmod裡的getdata功能 // 並在getdata()方法內加上傳入的值 $data = array ( // 存入列陣 'data' => $query ); $this->load->view ( 'getsqltest', $data ); // 載入視界並且把資料$data丟進去 } }增加要傳入的models\getsqlmod.php裡的getdata()的值
範例是"寫死"裡面輸入'user'的字串
他會把'user'的值丟到 application\controllers\getdata.php裡的getdata($id)
PS:請注意!!!我是寫死的...請依照實際狀況改寫本範例程式碼
裡面可以放直接放$變數名稱是沒問題的
application\views\getsqltest.php完全不用動~呵呵
一樣直接在瀏覽器的網址列打上網址http://127.0.0.1/test/getdata
顯示結果為
不要跟我挑病病說帳號欄位怎會這樣...HTML調一下就好
如果有不懂的地方歡迎留言我看到我會調整文章內容以方便理解學習
喜歡本文章的話就幫我+1~
請問我依照您的範例可以查詢但座分頁時卻沒辦法真正分頁,總是列出全部資料
回覆刪除點分頁連結也只是同一頁
不知道問題在哪,
### 以下是我的程式碼
class User_list extends CI_Controller {
public function index() { //分頁的函數就是這個index (方法)
$this->load->model ( 'sql_user' ); // 載入資料庫 model
$query = $this->sql_user->user_list ( '002' )->result_array (); // 使用sql_user裡的user_list功能 //假設要找的是contact_Line=1這個$stats
// 並在user_list()方法內加上傳入的值
$data = array ( // 存入列陣
'data' => $query
);
$this->load->view ( 'getsqltest', $data ); // 載入view裡的getsqltest.php並且把資料$data丟進去
$this->load->helper('url'); //需載入這個函數 才繩使用 base_url 和 site_url 這個函數
$this->load->library('pagination'); //pagination 分頁
$page_size = 10; //每個頁面將會顯示資料筆數
$config['total_rows'] = 200; //這個數據通常是您對資料庫查詢所回傳的總筆數
$config['base_url'] = site_url('user_list/index'); //控制器/方法
$config['per_page'] = $page_size; //每個頁面將會顯示資料筆數
$config['first_link'] = '第一頁';
$config['last_link'] = '最後頁';
//$config['uri_segment'] = 3;//分頁的數據查詢偏移量在哪一段上
$this->pagination->initialize($config);
//$offset = $this->uri->segment(3);//與$config['uri_segment']對應
//$sql="select *.from tbuser limit $offset, $page_size";
//echo $sql;
$data['links'] = $this->pagination->create_links(); //條列數
echo $data['links'];
您在下SQL時可以參考"$this->db->limit();"指令
刪除http://www.codeigniter.org.tw/user_guide/database/active_record.html
這頁面應該可以幫助到您
因為您沒有篩選資料要從拿裡開始印出到哪裡結束
所以才會不管您點哪頁都是全部列出