我想在我的网页上添加评分排名系统。
网页正在使用SQL中的一些信息,我的主要问题是:
SQL中有一个表格,显示了玩家的库存。在此表中:
CharID | Slots (of inventory) | User Item ID
另一个表格显示"用户项目ID"是:
Item ID Number | values of item (with count)
例如;在这张表中;
用户项目ID |物品编号|选择等级(加上项目的值等; 90 等级+ 7)
我想创建一个新表,其中包含:
用户项目ID |带有项目点的项目ID,|它必须添加(选择 等级)到项目点)
同样如:
用户名|用户项目ID |项目ID与项目点|选择级别|总 点
xxx ------------------- 5 -------------------- 90 ----- ---------------- 7 ---------- 97
但我不知道该怎么做。创建此项目点数后,最高分必须位于排名的顶部。
有人有任何想法吗?
有图片;
这是第一个我可以看到会员ID,会员的库存槽以及会员正在使用的表格。
这是我能看到的第二个表ID64与使用成员相同,RefItemID id不同,OptLevel是Item Point,MagParamNum也是项目点。
所以,我想创建一个新表CharID(第1张图片) - 用户物品ID(第1张第2张图片)--- OptLvel(第2张图片)--- MagParamNum(第2张图片) - 总点数(OpLevel) + MagParamNum +我给出的分数)
答案 0 :(得分:1)
我认为您不需要创建一个包含其他表中已存在的所有信息的新表。
您需要在项目表中将userid作为外键,以帮助您识别哪个项目属于哪个用户。
我不确定存储optLevel的位置,但我假设您将其存储在名为optTable的另一个表中。
您需要做的是在SQL数据库中创建一个View:
CREATE VIEW [newTable] AS
SELECT u.userid, u.username, i.itemPoint, o.optLevel, (i.itemPoint+o.optLevel) AS Total
FROM userTable u
INNER JOIN itemTable i ON u.userid = i.userid
INNER JOIN optTable o ON u.userid = o.userid`
ORDER by (i.itemPoint + o.optLevel) DESC
创建此视图后,将在数据库中完成并存储信息和计算。
在创建视图或添加新用户之前,您需要检查该用户是否不存在,但您将在您的php代码中执行该操作,或者使用
的方法> SELECT COUNT(username) FROM username.
然后,您可以输入以下内容来访问该视图:
SELECT *
FROM newTable
WHERE userid = $id