Как сделать систему скоринга на SQL?

Я хочу добавить систему рейтинга на мою веб-страницу.

Веб-страница использует некоторую информацию из SQL, моя главная проблема:

В SQL есть таблица, которая показывает инвентарь игроков. В этой таблице:

CharID | Slots (of inventory) | User Item ID

Другие таблицы, которые показывают «Идентификатор элемента пользователя»:

Item ID Number | values of item (with count)

Например; В этой таблице;

Идентификатор элемента пользователя | Идентификатор товара | Опция Level (плюс стоимость такого предмета, как; 90
уровень + 7)

Я хочу создать новую таблицу, которая имеет:

Идентификатор элемента пользователя | Идентификатор предмета с точкой предмета, | И это надо добавить (Опт
Уровень) до пункта)

Такой же как:

Имя пользователя Идентификатор элемента пользователя | Идентификатор товара с точкой товара | Опция уровня | Всего
точка

ххх ——————- 5 ——————— 90 ——— ————- 7 ———- 97

Но я понятия не имею, как это сделать. И после создания этого пункта очки, наивысшая оценка должна быть на вершине ранга.

У кого-нибудь есть идеи?

С картинками;

http://prntscr.com/6fqumn

Это первая таблица, в которой я могу увидеть ID участника, Слот инвентаря участника и Что использует участник.

http://prntscr.com/6fqvag

Это вторая таблица, которую я вижу, ID64 такая же. С использованием члена, RefItemID id отличается, OptLevel — это Item Point, MagParamNum — это тоже Item item.

Итак, я хочу создать новую таблицу CharID (1-е изображение) — идентификатор элемента пользователя (1-е-2-е изображение) — OptLvel (2-е изображение) — MagParamNum (2-е изображение) — общее количество очков (OpLevel + MagParamNum +) Оценка, которую я дал предмету)

-1

Решение

Я не думаю, что вам нужно создавать новую таблицу, содержащую всю эту информацию, поскольку она уже существует в других таблицах.

У вас должен быть идентификатор пользователя в качестве внешнего ключа в таблице элементов, чтобы помочь вам определить, какой элемент принадлежит какому пользователю.

Я не уверен, где хранится optLevel, но я предполагаю, что вы храните его в другой таблице с именем optTable.

Что вам нужно сделать, это создать представление в вашей базе данных SQL:

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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]