Я хочу добавить систему рейтинга на мою веб-страницу.
Веб-страница использует некоторую информацию из SQL, моя главная проблема:
В SQL есть таблица, которая показывает инвентарь игроков. В этой таблице:
CharID | Slots (of inventory) | User Item ID
Другие таблицы, которые показывают «Идентификатор элемента пользователя»:
Item ID Number | values of item (with count)
Например; В этой таблице;
Идентификатор элемента пользователя | Идентификатор товара | Опция Level (плюс стоимость такого предмета, как; 90
уровень + 7)
Я хочу создать новую таблицу, которая имеет:
Идентификатор элемента пользователя | Идентификатор предмета с точкой предмета, | И это надо добавить (Опт
Уровень) до пункта)
Такой же как:
Имя пользователя Идентификатор элемента пользователя | Идентификатор товара с точкой товара | Опция уровня | Всего
точкаххх ——————- 5 ——————— 90 ——— ————- 7 ———- 97
Но я понятия не имею, как это сделать. И после создания этого пункта очки, наивысшая оценка должна быть на вершине ранга.
У кого-нибудь есть идеи?
С картинками;
Это первая таблица, в которой я могу увидеть ID участника, Слот инвентаря участника и Что использует участник.
Это вторая таблица, которую я вижу, ID64 такая же. С использованием члена, RefItemID id отличается, OptLevel — это Item Point, MagParamNum — это тоже Item item.
Итак, я хочу создать новую таблицу CharID (1-е изображение) — идентификатор элемента пользователя (1-е-2-е изображение) — OptLvel (2-е изображение) — MagParamNum (2-е изображение) — общее количество очков (OpLevel + MagParamNum +) Оценка, которую я дал предмету)
Я не думаю, что вам нужно создавать новую таблицу, содержащую всю эту информацию, поскольку она уже существует в других таблицах.
У вас должен быть идентификатор пользователя в качестве внешнего ключа в таблице элементов, чтобы помочь вам определить, какой элемент принадлежит какому пользователю.
Я не уверен, где хранится 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
Других решений пока нет …