2017-04-09 4 views
0

ページネーションがあり、データベースを2回呼び出す必要があります。
それは私が意味を呼び出す必要があります:ユーザー異なる条件で同じデータベース上で複数選択する

FROM

SELECT COUNT(users_id)のデータベースをrowCountのすべてを取得するために
、別のデータベースに私が持っているフェッチ:

SELECT * FROM users ORDER BY users_id ASC LIMIT 1、2

作成ページ作成
データベース呼び出しを1つ作成して同じ結果が得られますか? users_id ASCのLIMIT 1 BYユーザーORDER FROM

SELECT COUNT(users_id)、*、2

をしかし、これは、わずか2を呼び出す(users_idカウント)と改ページを破った:
私はこれを試してみてください。 (それは異なる結果セットを返すため

おかげで、私の下手な英語のため申し訳ありません

答えて

0

あなたは2つのクエリでこれを取得することができます:

1)最初のLIMITとOPTION SQL_CALC_FOUND_ROWS

2)LIMIT

SELECT SQL_CALC_FOUND_ROWS t.* FROM yourTable 1 LIMIT 2; 
SELECT FOUND_ROWS(); 

サンプルなしのnum行を取得して、あなたの結果を得ます

mysql> SELECT SQL_CALC_FOUND_ROWS t.* FROM yourTable t LIMIT 2; 
+-----+------------+ 
| id | toDate  | 
+-----+------------+ 
| 111 | 2017-03-02 | 
| 111 | 2017-03-20 | 
+-----+------------+ 
2 rows in set (0,00 sec) 

mysql> SELECT FOUND_ROWS(); 
+--------------+ 
| FOUND_ROWS() | 
+--------------+ 
|   4 | 
+--------------+ 
1 row in set (0,00 sec) 

mysql> 
+0

それは本当ですが、どうすればFOUND_ROWSを取得できますか? 、like $ row ["users_id"] – Joel

+0

ありがとう、それは仕事と私の問題解決:*:*:*:*:************** – Joel

+0

$ total = $ db_con->クエリ( 'SELECT FOUND_ROWS();') - >フェッチ(PDO :: FETCH_COLUMN); – Joel

0

いいえ、それは不可能です - 。最初のクエリでは、との単一列の結果を返します。他のクエリはユーザーからのすべての列を返します。

このために2つの個別のクエリを実行する必要があります。

関連する問題