2012-02-21 4 views
0

データベースからデータを取得するために私のモデルに次のような機能があり、コードネイターのデフォルトページネーションクラスを使用しています。私は、テーブルからデータを取得する際

function payment_due($month,$year,$fee_type,$perPage,$uri) { 

$getData = $this->db->query("SELECT DISTINCT studentid,studentname FROM 
student WHERE NOT EXISTS 
(SELECT * FROM studentpayment1 JOIN studentpayment2 
         ON studentpayment1.paymentid=studentpayment2.pid 
WHERE fee_month='$month' AND fee_type='$fee_type' 
AND fee_year='$year' AND student.studentid=studentpayment1.studentid) 
"); 


     if($getData->num_rows() > 0) 
     return $getData->result_array(); 
     else 
     return null; 
     } 

は通常、私は今、私の質問は、私は$ perPage使うべき場所を親切に教えてくださいますですthis->

$getData = $this->db->get('', $perPage, $uri); 

のような$ perPageと$ URIを使用します上記の関数で$ uri?事前に

感謝:)

私は私のDBクエリの最後に$ perPage、$ URIを使用している場合は、私は次のエラーを取得:

A Database Error Occurred 
Error Number: 1064 

You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right syntax to 
use near '15' at line 3 

SELECT DISTINCT studentid,studentname FROM student WHERE NOT EXISTS 
    (SELECT * FROM studentpayment1 JOIN studentpayment2 
    ON studentpayment1.paymentid=studentpayment2.pid WHERE 
fee_month='February' AND fee_type='Monthly Fee' AND fee_year='2012' 
    AND student.studentid=studentpayment1.studentid) LIMIT ,15 

    Filename: C:\xampp\htdocs\utc\system\database\DB_driver.php 

行番号:330 `

+0

あなたはの終わりに表示する行数とどのように多くを必要とするページネーションをやってあなたのSQL。例えば。レコード5から始まり、レコード10を取得します。 SELECT * FROM 'table' WHERE' id' = 1 LIMIT 5、10 – Rooneyl

答えて

0

user_guideでは、$this->db->get()のためのサンプルコードを見ることができると何が生成されます

The second and third parameters enable you to set a limit and offset clause:

$query = $this->db->get('mytable', 10, 20); 

// Produces: SELECT * FROM mytable LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax) 

だから基本的にはそのようなことは何かの終わりに追加することで、クエリ内のLIMITを設定する必要があります。

LIMIT $uri,$perPage 
+0

ありがとうございます。私が制限付き$ uriを使用すると、$ Perpageが私の得意先の最後に表示されます。>エラー番号:1064 あなたはエラーがありますあなたのSQL構文で。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文を3行目の '15'の近くで使用してください。 –

+0

私はこの$ config ['per_page'] = 15、$ this-> uri-> segment(3)を使用しています –

+0

あなたは生産されている全体のクエリを表示できますか? – Kokers

関連する問題