UID103963
帖子
精華
主題
積分2834
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2008-9-12
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 怒 2019-2-21 09:51 AM |
---|
簽到天數: 135 天 連續簽到: 1 天 [LV.7]常住居民III
|
發表於 2011-10-25 04:18:45
|
顯示全部樓層
本帖最後由 喵∼* 於 2011-10-25 04:19 AM 編輯
回復 8# fgyackl
商城點數可以直接用 #CASHPOINTS 排行 不用SQL
紅利點數則是 #CASHPOINTS2
另外就是你上面的SQL - query_sql("SELECT char_id, str, type FROM `global_reg_value` ORDER BY type DESC LIMIT 10", .@aid, .@str ,.@type);
複製代碼
並不是抓type而是抓value
再者,你的ORDER BY DESC排序在這邊做不到的,因為儲存格型態被限制了,所以要先轉換他型態才可以排序
否則排出來是不準確的數字
另外,你沒有WHERE你是要他抓什麼值= =?
你說.@aid要怎麼連結成遊戲ID?
那你應該要想說SQL可以做到合併資料表嗎?
以下是幫你用好的部分,幫你合併好資料表和對應,你只要改國字的部分就好,要排什麼就打什麼的變數
另外這會有1~2秒的等待時間,如果等不住請不要使用
- query_sql("ALTER TABLE `global_reg_value` CHANGE `value` `value` SMALLINT( 255 ) NOT NULL DEFAULT '0' ");
- query_sql("SELECT char.name, global_reg_value.str, global_reg_value.value FROM `global_reg_value` LEFT JOIN `char` On global_reg_value.char_id = char.char_id WHERE global_reg_value.str = '請改為你要排序的變數' ORDER BY global_reg_value.value DESC LIMIT 10", .@name$, .@str ,.@value);
- query_sql("ALTER TABLE `global_reg_value` CHANGE `value` `value` VARCHAR( 255 ) NOT NULL DEFAULT '0' ");
- for(set .@i,1;.@i<=getarraysize(.@name$);set .@i,.@i+1){
- mes "["+.@i+"] "+.@name$[.@i-1]+" "+.@value[.@i-1]+"";
- }
- close;
- end;
複製代碼 |
|