PDA

View Full Version : [MU] Xin hỏi về Hiển thị Top trên Web NBB



phoxuaxua
10-05-12, 02:01 AM
Chào các bạn! mình lần đầu tiên chạy thử web nbb 4.12 gì đó, mọi thứ có vẻ ổn cả, nhưng có một cái lỗi không xem được Top. Mình đã đăng nhập TK web, chọn Top với tất cả nhân vật, hay riêng lẻ đều không hiện thị. Cho mình hỏi các bạn đã làm quen với web nbb, xửa chỗ nào xin chỉ giúp nhé. Thanks các bạn

bistro007_hp
10-05-12, 03:35 AM
:-bd
Giúp ông nè.
Đầu tiên ông vào hosting/data/top.txt xem nó báo gì đã nhé.
Và có mấy cách giải quyết trước.
Do các Database khác config không chuẩn vì vậy : Lỗi bảng xếp hạng không hiển thị do Collation của MEMB_INFO.memb___id và MEMB_STAT.memb___id không giống nhau.
Cách FIx
B1. Chuột phải vào Table MEMB_INFO chọn Design
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
B2. Chọn Field : memb___id
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
B3. Sửa giá trị Collation thành : <database default>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> ..
END FIX.
Cách 2
Cách này nhằm hướng dẫn cho 1 số bạn bị lỗi khi không hiển thị đúng người Online trên web
Đầu tiên:
1 . Xoá WZ_CONNECT_MEMB & WZ_DISCONNECT_MEMB từ Stored Procedures !
2. Xoá MEMB_STAT trong DB MuOnline !
3. Tạo WZ_CONNECT_MEMB với SQL Query dưới
Query

CREATE PROCEDURE WZ_CONNECT_MEMB

@uid varchar(20),
@server varchar(20),
@uip varchar(20)
AS


Begin


BEGIN TRANSACTION


SET NOCOUNT ON


IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Begin
UPDATE MEMB_STAT
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) valueS (
@uid,
@uip,
1,
@server
)
End




<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION


SET NOCOUNT OFF
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO

4. Tạo WZ_DISCONNECT_MEMB với SQL Query dưới :

CREATE PROCEDURE WZ_DISCONNECT_MEMB


@uid varchar(20)
AS
Begin


BEGIN TRANSACTION


SET NOCOUNT ON


IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Begin
UPDATE MEMB_STAT
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
End
ELSE
Begin
INSERT INTO MEMB_STAT ( memb___id,DisConnectTM,connectstat) valueS (
@uid,
(getdate()),
0
)
End




<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION


SET NOCOUNT OFF
End
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON

GO

5. Cuối cùng MEMB_STAT với QUERY :

CREATE TABLE [dbo].[MEMB_STAT] ([memb___id] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ConnectStat] [tinyint] NULL ,
[ServerName] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[IP] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ConnectTM] [smalldatetime] NULL ,
[DisConnectTM] [smalldatetime] NULL
) ON [PRIMARY]

GO
còn không được nữa vào data/top.txt hay cái gì xem nó báo gì rồi fix tiếp nhé :)

phoxuaxua
10-05-12, 04:12 AM
thanks bistro nhé, vấn đề đã được giải quyết xong, mình đã sửa lại collation và được rồi

anhvu6
19-05-12, 08:56 AM
1342602808
Query Error : SELECT DISTINCT Name,Class,relifes,Resets, cLevel, DGT_Time FROM Character JOIN MEMB_INFO ON Character.AccountID collate DATABASE_DEFAULT = MEMB_INFO.memb___id collate DATABASE_DEFAULT AND thehe=1 ORDER BY relifes DESC, resets DESC , cLevel DESC
Sao chỉnh sửa r vẫn k đc ta :|