Привет! Если вы читаете это - вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы получить доступ ко всем разделам нашего форума. Удачи!
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Топы

Комбинированный просмотр

Seregamil Топы 27.09.2014, 15:33
SoNik)) Re: Топы 18.10.2014, 17:34
Seregamil Re: Топы 18.10.2014, 18:18
Mtv777 Re: Топы 12.11.2014, 20:56
Seregamil Re: Топы 13.11.2014, 04:54
Mtv777 Re: Топы 15.11.2014, 00:18
Seregamil Re: Топы 15.11.2014, 04:41
Mtv777 Re: Топы 28.11.2014, 00:07
Seregamil Re: Топы 28.11.2014, 04:39
Mtv777 Re: Топы 11.12.2014, 00:56
Seregamil Re: Топы 11.12.2014, 20:07
Mtv777 Re: Топы 12.12.2014, 00:03
Seregamil Re: Топы 13.12.2014, 04:50
  1. #1
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    27
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Топы

    Функция, позволяющая построить топ лист как по возрастанию, так и по убыванию.
    Данные берутся из базы данных( SQLite, под MySQL можете подстроить сами, основную логику системы я написал ).
    Аргументы функции:
    PHP код:

    str[], // строка, в которую будут записываться значения
    DBdatabase// база данных, из которой берутся значения
    tableName[],  // название таблицы, в которой производится поиск
    name[], // название столбца, значение которого будет записываться и показывать например имя игрока, который в топе
    order[],  //название столбца, по которому производится построение списка
    limit//максимальное количество значений топа
    boolmaxToMin true// необязательный аргумент. перестраивает список от меньшего к большему
    len sizeof str // так же необязательный аргумент. указывает на максимальное количество символов в форматируемой строке

    Пример использования функции:
    PHP код:
        new DBplayers db_open"players.db" ) ; //отрыли базу данных
        
    new str256 ]; // будем сюда записывать
        
    CreateTopFromBase(
                            
    str//строка, в которую записываются значения
                            
    players// БД
                            
    "PLAYERS"// название таблицы
                            
    "NAME",   // идентификатор
                            
    "MONEY",  // топовое значение
                            
    // максимальное кол-во значений в топе
                          
    );
        
    ShowPlayerDialogplayerid1DIALOG_STYLE_MSGBOX"Top list"str"Ok","" );// покажем топ лист 
    Мне лень было заходить в игру, дабы делать скриншот, тестировал в консольке ^_^.
    Результат запроса, показанного в примере:


    Сама функция:
    PHP код:
    stock CreateTopFromBasestr[], DBdatabasetableName[], name[], order[], limitboolmaxToMin truelen sizeof str ){
        new
            
    query_str70 ], // запрос
            
    name_saveMAX_PLAYER_NAME ], //имя юзера в выходной строке
            
    DBResulttopResult // запрос в таблицу
        
    ;
        
        
    formatquery_strsizeof query_str"SELECT %s, %s FROM %s ORDER BY %s %s LIMIT %i"nameordertableNameorder, ( maxToMin == true ? ( "DESC" ) : ( "ASC" ) ), limit );
        
    topResult db_querydatabasequery_str ) ; // произведи запрос в таблицу
        
        
    do {
            
    db_get_field_assoctopResultnamename_saveMAX_PLAYER_NAME ) ; // получим имя для вывода
            
    db_get_field_assoctopResultorderquery_strsizeof query_str ) ; // получим значение игрока
            
            
    formatstrlen"%s%s : %s\n"strname_savequery_str ); // добавим в строку
        
    } while( db_next_rowtopResult ) ) ; //пойдем к следующему результату

        
    db_free_resulttopResult ); // очистим результат

    Автор: единственный идиот, которому понадобилась эта бредофункция, т.е. я.

  2. 3 пользователей сказали cпасибо Seregamil за это полезное сообщение:

    anonimniy (25.07.2015), Johurt (29.09.2014), Mexanizm (29.09.2014)

  3. #2
    Пользователь Аватар для SoNik))
    Регистрация
    28.02.2014
    Сообщений
    13
    Репутация: 10

    Звание: на пути к лучшему

    Re: Топы

    Цитата Сообщение от Seregamil Посмотреть сообщение
    Автор: единственный идиот, которому понадобилась эта бредофункция, т.е. я.
    Что-же ты так... пару недель назад я себе сделал топ игроков по убийствам, правда на MySQL
    Зато знаешь как игроки на сервере стали фраги набивать? (Дм)


  4. #3
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    27
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Re: Топы

    Знаю) У всех мания в этом топе засветиться))
    А по поводу mySQL, запросы, что тут, что там одинаковые в данной ситуации, перевести не составит труда.

  5. #4

  6. #5
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    27
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Re: Топы

    Цитата Сообщение от Mtv777 Посмотреть сообщение
    Я не понял только одно, смысле вот это new DB: players = db_open( "players.db" ) ; //отрыли базу данных
    База, из которой будут берутся данные для построения топа.

  7. #6
    Активный пользователь Аватар для Mtv777
    Регистрация
    20.03.2011
    Адрес
    Планета: Земля.
    Сообщений
    1,969
    Репутация: 42

    Звание: на пути к лучшему

    Re: Топы

    Цитата Сообщение от Seregamil Посмотреть сообщение
    База, из которой будут берутся данные для построения топа.
    Ну я понял по (.db), но не понял сути, от куда оно ее берет, и почему например не с базы конкретно? Ведь .db это уже файл обычный?

  8. #7
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    27
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Re: Топы

    Берет из базы данных, в которой есть таблица.

  9. #8

  10. #9
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    27
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    Re: Топы

    По каким

  11. #10

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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