AL8 Forum
»
網頁製作區
» 資料庫查詢限制
‹‹ 上一主題
|
下一主題 ››
標題: 資料庫查詢限制
打印
|
推薦
|
訂閱
|
收藏
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#1
大
中
小
發表於 2008-9-6 11:58
資料
個人空間
短消息
加為好友
資料庫查詢限制
原本係咁
$query = doquery("SELECT * FROM {{table}} ORDER BY `". $TypeSort ."` ASC", 'users');
我想加個每頁顯示20個咁我加左
$num_of_each_page = '25';
跟住咁加
$query = doquery("SELECT * FROM {{table}} ORDER BY `". $TypeSort ."` ASC", $num_of_each_page, 'users');
但係有error=.=
其實錯咩??
CG forum
AL8 Forum © All rights reserved.
青山
0051494
頭銜: Forum Legend
暱稱: SkyBread
自述: PHP BB
帖子: 4243
精華: 0
積分: 8554 點
現金: 34 元
存款: 8806 元
閱讀權限: 70
註冊: 2006-9-2
來自: 小花園
狀態: 離線
#2
大
中
小
發表於 2008-9-6 12:06
資料
個人空間
主頁
短消息
加為好友
唔多明你個SQL...
但係你冇加到LIMIT...
一定有Error...
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#3
大
中
小
發表於 2008-9-6 12:23
資料
個人空間
短消息
加為好友
回覆 #2 青山 的帖子
加係邊個位岩d?
咁?
$query = doquery("SELECT * FROM {{table}} ORDER BY `". $TypeSort ."` LIMIT 0, 25 ASC", $num_of_each_page, 'users');
CG forum
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#4
大
中
小
發表於 2008-9-6 12:25
資料
個人空間
短消息
加為好友
$num_of_each_page = '25';
其實我想每頁顯示25個結果~
CG forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#5
大
中
小
發表於 2008-9-6 12:35
資料
個人空間
主頁
短消息
加為好友
剩係話有error,又唔講乜error,鬼知你搞乜
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#6
大
中
小
發表於 2008-9-6 12:38
資料
個人空間
短消息
加為好友
回覆 #5 hamu278 的帖子
出唔到野
result
CG forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#7
大
中
小
發表於 2008-9-6 12:51
資料
個人空間
主頁
短消息
加為好友
[Copy to clipboard]
[
-
]
CODE:
$query = doquery("SELECT * FROM `{table}` ORDER BY `{$TypeSort}` ASC limit 0,25");
limit 0,25 果到自己搞,0 係 從第幾項資料開始讀取,25 係 讀取幾多項資料
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#8
大
中
小
發表於 2008-9-6 13:14
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
hamu278
於 2008-9-6 12:51 發表
$query = doquery("SELECT * FROM `{table}` ORDER BY `{$TypeSort}` ASC limit 0,25"
;
limit 0,25 果到自己搞,0 係 從第幾項資料開始讀取,25 係 讀取幾多項資料
ok了
但係得1-25個result ><
我唔識點整有頁數=.=
可否教教
[
本帖最後由 zoooooo1 於 2008-9-6 13:32 編輯
]
CG forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#9
大
中
小
發表於 2008-9-6 13:52
資料
個人空間
主頁
短消息
加為好友
回覆 #8 zoooooo1 的帖子
由於你想任何一頁都出25個結果,所以 limit 0,25 既 25 係唔洗改
而0:
第一頁讀第0至24項資料,第二頁讀第25至49項
即係第一頁就 limit 0,25 、第二頁就 limit 25,25、第三頁就 limit 50,25
即: (頁數 -1) * 25
* 第一頁就係(1-1)*25= 0*25 = 0,第二頁就(2-1)*25 = 1 * 25 = 25,如此類推
[Copy to clipboard]
[
-
]
CODE:
$page_start = ({現時第幾頁的變數}-1)*25;
$query = doquery("SELECT * FROM `{table}` ORDER BY `{$TypeSort}` ASC limit {$page_start},25");
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
bananasims
0025881
頭銜: Super Moderator
帖子: 12085
精華: 0
積分: 27025 點
現金: 345 元
存款: 84490 元
閱讀權限: 110
註冊: 2005-7-10
狀態:
在線
#10
大
中
小
發表於 2008-9-6 18:42
資料
個人空間
主頁
短消息
加為好友
回覆 #9 hamu278 的帖子
注意一樣野,雖然絕大部份係用 MySQL
如果係會開發比其他 SQL 用,好似 MSSQL 咁樣的話唔可以用 LIMIT,LIMIT 係 MySQL 專有的
I-Circle Forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#11
大
中
小
發表於 2008-9-6 19:09
資料
個人空間
主頁
短消息
加為好友
回覆 #10 bananasims 的帖子
要 loop 果時加 if 黎控制?
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#12
大
中
小
發表於 2008-9-6 20:01
資料
個人空間
短消息
加為好友
QUOTE:
原帖由
hamu278
於 2008-9-6 13:52 發表
由於你想任何一頁都出25個結果,所以 limit 0,25 既 25 係唔洗改
而0:
第一頁讀第0至24項資料,第二頁讀第25至49項
即係第一頁就 limit 0,25 、第二頁就 limit 25,25、第三頁就 limit 50,25
即: (頁數 -1) ...
實在太好啦
:em32:
CG forum
AL8 Forum © All rights reserved.
bananasims
0025881
頭銜: Super Moderator
帖子: 12085
精華: 0
積分: 27025 點
現金: 345 元
存款: 84490 元
閱讀權限: 110
註冊: 2005-7-10
狀態:
在線
#13
大
中
小
發表於 2008-9-6 20:31
資料
個人空間
主頁
短消息
加為好友
回覆 #11 hamu278 的帖子
phpBB 既 Class 有解釋
I-Circle Forum
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#14
大
中
小
發表於 2008-9-7 03:16
資料
個人空間
短消息
加為好友
當而家有100個留言
咁
$query = doquery("SELECT * FROM {{table}} ORDER BY messageid ASC", "chat");
SHOW曬全部
如果只想出20個
$query = doquery("SELECT * FROM {{table}} ORDER BY messageid ASC limit 0,20", "chat");
但係佢只出了頭1-20句
咁
$query = doquery("SELECT * FROM {{table}} ORDER BY messageid DESC limit 0,20", "chat");
而家佢
最新係最頂SHOW出黎
但我原本係最新係最底=.=
CG forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#15
大
中
小
發表於 2008-9-7 08:54
資料
個人空間
主頁
短消息
加為好友
回覆 #13 bananasims 的帖子
搵到一個 Build LIMIT query 既 Function
============================
回覆 #14 :
即係你想點?依家點?
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#16
大
中
小
發表於 2008-9-7 11:23
資料
個人空間
短消息
加為好友
我個chat
上面一個table 顯示msg肉容
下面一條bar 比人輸入字
當
$query = doquery("SELECT * FROM {{table}} ORDER BY messageid ASC limit 0,20", "chat");
d msg肉容係....
第1句
第2句
.....
第20句
當
$query = doquery("SELECT * FROM {{table}} ORDER BY messageid DESC limit 0,20", "chat");
佢就
第100句
第99句
......
第81句
我想就係張個排列方法倒轉
第81句
第82句
.....
第100句
[
本帖最後由 zoooooo1 於 2008-9-7 11:24 編輯
]
CG forum
AL8 Forum © All rights reserved.
hamu278
0024014
頭銜: Forum Legend
暱稱: 已激活的會員
自述: UID: 0024014
帖子: 5568
精華: 0
積分: 16472 點
現金: 2224 元
存款: 8535 元
閱讀權限: 70
註冊: 2005-6-18
狀態: 離線
#17
大
中
小
發表於 2008-9-7 14:26
資料
個人空間
主頁
短消息
加為好友
回覆 #16 zoooooo1 的帖子
DESC limit 0,20 > ASC limit {自己計},20
好論壇
TECHNETCAL
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
#18
大
中
小
發表於 2008-9-7 17:57
資料
個人空間
短消息
加為好友
回覆 #17 hamu278 的帖子
我唔明點用wo
CG forum
AL8 Forum © All rights reserved.
zoooooo1
0044097
頭銜: Forum Legend
帖子: 1806
精華: 0
積分: 6265 點
現金: 0 元
存款: 16656 元
閱讀權限: 70
註冊: 2006-4-26
狀態: 離線
<