Skiffi

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

В теме 3 сообщения

Здравствуйте пользователи сайта 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] Если урок оказался полезен, поблагодарите автора, этого достаточно

Отредактировано пользователем Skiffi
Причина: Правки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Гость Джон
      От Гость Джон
      Требуется разработчик в сфере павно, оплата будет.

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

      с вас; доказательства опыта работы, проверка так произойдет таким образом что вы напишите простой скрипт, я проверю и мы начнем работу. С вас также попрошу знания скриптинга на павно, умение настройки базы данных, умение ставить моды и тд. Мод с нуля,сервер Infinity RolePlay, приставка ролеплей не с проста, сервер фулл рп. На админку маловероятно что поставлю, лишь если буду уверен в вашем опыте и знаниях на посту. Ценю доброжелательность, честность, стабильность, коммуникативность, опыт.

      Планирую сделать комфортную площадку САМП для приятного времяпровождения на мобильном устройстве или пк(свои условия будут) в основном нацелены будем на мобильные устройства.

      Пожалуйста можно без высоких ценников, мне всего 14, однако опыта я достиг не малого. Все же даже так мог бы оплачивать услуги скриптера.
    • frosjkee
      От frosjkee
      Как и где устанавливаются параметры чтобы игрок не падал с транспорта? например: Автомобиль пикап для выезда на капты, использую нестандартные модели и думаю где-то можно указывать параметр скольжения
    • angel_sinvays
      От angel_sinvays


      Скачать файл Luxury RolePlay (Оригинал)
      Как давно никто не слышал о Luxury RolePlay, теперь же я хочу вам напомнить о нём и продать за малую цену.
      В моде было сделано ОЧЕНЬ много доработок и изменений, при открытии кода вы сами поймёте о чем я имею ввиду.
      Основа мода: Active RP (Avenue RP)
       
      Что сделано:
      1. Сделана услуга премиум аккаунт
      2. В магазин добавлена новая услуга Титул
      3. Новые автомобили в донате BMW I8, BMW M5,  BMW Vision M NEXT, Mercedes Benz G-класс, Rolls-Royce Phantom, у них есть ускорения как спидхак
      4. Сделана возможность скрывать индикатор сытости в настройках
      5. Сделан новый инвентарь (/mm -> Инвентарь)
      6. Сделана возможность сменить время года в личных настройках
      7. Слоты под личный транспорт увеличены до 7
      8. Обновлён интерьер Мэрии
      9. Обновлён спавн
      10  Обновлён анти-чит
      11. Обновлён логотип
      12. Добавлена аренда мопедов
      13. Статистика игрока copy Russia RP
      14. Из регистрации на сервере убран ввод почты
      15. Для полиции добавлены команды /cap, /baton, /armour
      16. Обновлена система анти-слива
      17. Обновлена система анти-рекламы
      18. Удалён код который не используется
      19. Сделана новая система FD (private)
      20. Добавлена система викторины
      21. Система жалобов на баги
      22. Система рулеток
      23. Исправлено многочисленное количество багов с БД, системами.
      24. При пополнении казны на 500+ миллионов, вам выдается 10 рублей.
      25. Переделано /showudost, теперь в графу Должности пишет название, а не номер ранга.
       
       
      Здесь я рассписал все основные аспекты затронутые в моде, сам мод имеет ценность еще с 2020 года, старичкам которые хотят зайти на старый Luxury он приглянётся, либо тем кто хочет его переоткрыть так же.
      Жалко продавать этот мод, но ему нужно найти своё место не пылиться же у меня на компьютере)
      Много скриншотов к сожалению я не смог раскопать чтобы было видно все системы, но всю суть мода вы увидите в них (мне просто лень заливать мод)
      UPD: Если у вас будет полное желание и я это увижу, я буду дорабатывать этот мод.
       
      UPD: Повышена цена на игровой мод.
      UPD: Изменён игровой мод (прошлая версия была не той)
      Добавил angel_sinvays Добавлено 01.05.2024 Категория Моды Автор Angel Sinvays (Kizaru Entancion)