Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для vladivanovx
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.12.2016
    Сообщений
    27
    Репутация:
    0 ±

    Некорректно загружаются данные с БД

    Имеется код, который загружает данные гангзон.
    Код проходит через цикл и сохраняет данные в массив.
    PHP код:
    #define MAX_GANGZONES 130 + 1
    new Iterator:Gangzones<MAX_GANGZONES>;

    enum GangzoneInfo {
      
    gzID,
      
    gzFraction,
      
    Float:gzMin_X,
      
    Float:gzMin_Y,
      
    Float:gzMax_X,
      
    Float:gzMax_Y
    }
    new 
    gzInfo[MAX_GANGZONES][GangzoneInfo];

    public 
    OnGangzonesDataLoaded() {
      new 
    rows cache_num_rows();
      if(
    rows) {
        new 
    0;
        while(
    rows) {
          
    cache_get_value_name_int(i"id"gzInfo[i][gzID]);
          
    cache_get_value_name_int(i"fraction_id"gzInfo[i][gzFraction]);
          
    cache_get_value_name_float(i"min_x"gzInfo[i][gzMin_X]);
          
    cache_get_value_name_float(i"min_y"gzInfo[i][gzMin_Y]);
          
    cache_get_value_name_float(i"max_x"gzInfo[i][gzMax_X]);
          
    cache_get_value_name_float(i"max_y"gzInfo[i][gzMax_Y]);
          
    gzInfo[i][gzID] = GangZoneCreate(gzInfo[i][gzMin_X], gzInfo[i][gzMin_Y], gzInfo[i][gzMax_X], gzInfo[i][gzMax_Y]);
          
    Iter_Add(GangzonesgzInfo[i][gzID]);
          
    i++;
        }
        print(
    "Данные загружены.");
      } else {
        print(
    "Данные не загрузились.");
      }
      return 
    1;

    При попытке вывести данные:
    PHP код:
    foreach(new Gangzones) {
        
    printf("i: %d | zoneid: %d"igzInfo[i][gzID]);

    Консоль возвращает данные таким образом:
    i: 0 | zoneid: 0
    i: 1 | zoneid: 1
    i: 2 | zoneid: 2
    i: 3 | zoneid: 3
    ...
    И так далее до 130.
    130 = кол-во гангзон в БД.
    Начальный ид для зоны 1.

    Все гангзоны отображаются, кроме одной.

    Какой оптимальный вариант можно использовать, что бы все данные вывести корректно.
    Что бы строке 0 присвоился соответствующий ид, то есть 1.
    Строке 1, ид 2.
    И так далее.

  2. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    new 1rows_f rows 1
        while( 
    rows_f 
    или так оставить
    PHP код:
    new 1
        while( 
    rows 
    Последний раз редактировалось vovandolg; 27.02.2017 в 14:08.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •