Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 4 из 4
  1. #1
    Аватар для cpt.
    Пользователь

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

    Проблема с выводом информации из Базы Данных

    Моя проблема заключается в выводе названий фракций из базы данных.

    Макс. кол-во организаций:
    PHP код:
    const max_org  4
    Массив:

    PHP код:
    enum org_var {
        
    org_id,
        
    org_name[32],
        
    org_leader[24],
         
    org_rank_1[15],
        
    org_rank_2[15],
        
    org_rank_3[15],
        
    org_rank_4[15],
        
    org_rank_5[15],
        
    org_rank_6[15],
        
    org_rank_7[15],
    };
    new 
    org_info[max_org][org_var]; 
    Команда вывода списка информаций:
    PHP код:
    COMMAND:test(playerid)
    {
        new 
    leaders[1024], string[144];
         for(new 
    0sizeof(org_info); i++)
        {
            
    format(string,sizeof(string), "%d. %s\t%s\n"org_info[i][org_id], org_info[i][org_name], org_info[i][org_leader]);
            
    strcat(leaders,string);
        }
        
    ShowPlayerDialog(playerid,1337DIALOG_STYLE_TABLIST,"Список организаций",leaders,"Выбор","Отмена");
        return 
    true;

    Теперь к сути проблемы, в БД у меня создано все 3 организации, но при показе выводится пустая строка, хотя в цикле стоит sizeof.
      Открыть/закрыть


    Если изменить значение const на 3, то лишней строки при показе не будет. Но такой вариант мне не подходит, потому что будет команда создания организаций и поэтому каждый раз менять значение const не вариант. Помогите.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Эмм
    PHP код:
    COMMAND:test(playerid

        new 
    leaders[1024], string[144]; 
         for(new 
    0sizeof(org_info)-1i++) 
        { 
            
    format(string,sizeof(string), "%d. %s\t%s\n"org_info[i][org_id], org_info[i][org_name], org_info[i][org_leader]); 
            
    strcat(leaders,string); 
        } 
        
    ShowPlayerDialog(playerid,1337DIALOG_STYLE_TABLIST,"Список организаций",leaders,"Выбор","Отмена"); 
        return 
    true

    Хотя лучше так
    PHP код:
    COMMAND:test(playerid)
    {
        new 
    leaders[1024];
         for(new 
    0sizeof(org_info)-1i++)
        {
            
    format(leaders,sizeof(leaders), "%s\n%d. %s\t%s"leadersorg_info[i][org_id], org_info[i][org_name], org_info[i][org_leader]);
        }
        
    ShowPlayerDialog(playerid,1337DIALOG_STYLE_TABLIST,"Список организаций",leaders,"Выбор","Отмена");
        return 
    true;

    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    cpt. (23.01.2016)
  4. #3
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    151
    Репутация:
    17 ±
    for(new i = 1; i < sizeof(org_info); i++)

    Начинать цикл с единички, а не с нуля..
    Мои глаза от твоего кода лезут на гавно-инфо и создают тему о расстановке пикапов.

  5. #4
    Аватар для cpt.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.08.2015
    Сообщений
    28
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм
    PHP код:
    COMMAND:test(playerid

        new 
    leaders[1024], string[144]; 
         for(new 
    0sizeof(org_info)-1i++) 
        { 
            
    format(string,sizeof(string), "%d. %s\t%s\n"org_info[i][org_id], org_info[i][org_name], org_info[i][org_leader]); 
            
    strcat(leaders,string); 
        } 
        
    ShowPlayerDialog(playerid,1337DIALOG_STYLE_TABLIST,"Список организаций",leaders,"Выбор","Отмена"); 
        return 
    true

    Хотя лучше так
    PHP код:
    COMMAND:test(playerid)
    {
        new 
    leaders[1024];
         for(new 
    0sizeof(org_info)-1i++)
        {
            
    format(leaders,sizeof(leaders), "%s\n%d. %s\t%s"leadersorg_info[i][org_id], org_info[i][org_name], org_info[i][org_leader]);
        }
        
    ShowPlayerDialog(playerid,1337DIALOG_STYLE_TABLIST,"Список организаций",leaders,"Выбор","Отмена");
        return 
    true;

    Благодарствую, второй вариант не подошёл, выбрал первый.

 

 

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

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

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

Ваши права

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