Skiffi

Сокращние полей в базе данных

3 posts in this topic

Здравствуйте пользователи сайта Pawno-Rus.ru


Сегодня мы поговорим о том как же уменьшить количество полей в базе данных.
Последнее время открыв базу сервера, зачастую можно увидеть такую картину:

(Пример)
EV9Xmi7.png

Как по мне, выглядит не очень.
Ну так вот, а можно иметь те же самые значения, но записанные куда компактнее.
Выглядит это так:
Qj8fCTI.png

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

(Пример)
Создаем новое поле в базе данных, параметры указываем следующие:
QgSDv3i.png

Поле создано, далее запись переменных в моде и выгружение в них значений из базы:
В массиве PlayerData (Пример) создаете переменные:
enum PlayerData {
    pID, // ID игрока, не входит в урок
    pCheckKey, // Пароль игрока, не входит в урок
    phNumbers[8], // Необходимые нам переменные
}
new
    PlayerInfo[MAX_PLAYERS][PlayerData];

 

Переменные созданы, приступим к выгружению значений:


(Пример, с использованием sscanf)
    mysql_fetch_row_format(query, "|");
    sscanf(query, "p<|>is[33]a<i>[8]",
    PlayerInfo[playerid][pID],
    PlayerInfo[playerid][pCheckKey],
    PlayerInfo[playerid][phNumbers]);
    mysql_free_result();

 

Использование соответственно:

CMD:test(playerid, params[]) {
    new
        string[144];
    PlayerInfo[playerid][phNumbers][0] = random(899999)+100000;
    format(string,sizeof(string),"Теперь ячейка равна - %d",PlayerInfo[playerid][phNumbers][0]);
    return SendClientMessage(playerid,C_GRAY,string); // C_GRAY - цвет
}

 

Сохранение значений в базу:


(Пример с использованием format)

 

    new
        string[32],
        query[128];

    format(string,sizeof(string),"%d|%d|%d|%d|%d|%d|%d|%d",
    PlayerInfo[playerid][phNumbers][0],
    PlayerInfo[playerid][phNumbers][1],
    PlayerInfo[playerid][phNumbers][2],
    PlayerInfo[playerid][phNumbers][3],
    PlayerInfo[playerid][phNumbers][4],
    PlayerInfo[playerid][phNumbers][5],
    PlayerInfo[playerid][phNumbers][6],
    PlayerInfo[playerid][phNumbers][7]);
    format(query,sizeof(query),"UPDATE `users` SET `phNumbers` = '%s' WHERE BINARY Name = '%s'",string,PlayerInfo[playerid][Name]);
    mysql_query(query);

 

Автор: *Skiffi


[Примечание] Тема ни откуда не сворована, написана лично мною. Если такие темы уже есть, отпишите мне в лс на форум
[Примечание2] Если урок оказался полезен, поблагодарите автора, этого достаточно

Edited by Skiffi
Причина: Правки

Share this post


Link to post
Share on other sites

При копировании на другие источники, указание автора - Обязательно

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • king98
      By king98


      Просмотр файла Мод Arizona Rp | Ultra + плагин на машины
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
      Добавил king98 Добавлено 15.05.2021 Категория Моды Автор NoName  
    • king98
      By king98
      Продам мод Arizona Rp | Ultra + плагин на люкс машины
      Мод оптимизирован под 100+ онлайна
    • JONS
      By JONS
      МОД С НУЛЯ КРМП(Слив)
      Просмотр файла Что было добавлены в мод:
      1.Регистрация авторизация на MySQL
      2.Админ команды
      2.Фракций
      3.Свой маппинг
      4.Команды игроков
      5.Смайлики
       
      Что нет в моде:
      нет интерьеров(можно взять из сайта и поставить)
      пипкапов
      ранги фракций
      меню персонажа
      логотипа
       
      Добавил JONS Добавлено 14.05.2021 Категория Моды Автор Сергей Наумов  
    • JONS
      By JONS
      Что было добавлены в мод:
      1.Регистрация авторизация на MySQL
      2.Админ команды
      2.Фракций
      3.Свой маппинг
      4.Команды игроков
      5.Смайлики
       
      Что нет в моде:
      нет интерьеров(можно взять из сайта и поставить)
      пипкапов
      ранги фракций
      меню персонажа
      логотипа
       
    • php34
      By php34
      Ищу скрипт который меняет IP при подключении к серверу той же Родины на мой, тем самым я захожу на свой сервер через сборку Родины.
      Такой скрипт я видел на разных копиях Радмир РП но не могу найти на Родину.
      При редактировании скрипта вылезают всякие символы.
      Может у кого есть нормальный скрипт?