По диалогам в страницах
#1

Доброго времени суток, уважаемые посетители SA-MP.com
У меня возникла проблема, как сделать страничный диалог.
То есть:
На 1 диалоге выводит, 10 страниц записей (Из БД)
На 2 диалоге выводит, 10 страниц записей (Из БД), и т.д

Заранее спасибо, кто поможет
С новым годом всех!
Reply
#2

Это далеко не павно инфо.

Создаешь диалог, там 11 ячеек. 10 берётся из бд, 11 это кнопка "следующая страница".
Далее, если игрок нажал на следующая страница, показываешь из бд уже 10 ячеек.
Reply
#3

Quote:
Originally Posted by Privies
Посмотреть сообщение
Это далеко не павно инфо.

Создаешь диалог, там 11 ячеек. 10 берётся из бд, 11 это кнопка "следующая страница".
Далее, если игрок нажал на следующая страница, показываешь из бд уже 10 ячеек.
Причем тут павно инфо?

Ай я уже 2 неделю голову ломаю, и что мне с ячейками делать?

Почему нельзя помочи кодом, с комментариями по мне это будет куда лучше...
Reply
#4

Quote:
Originally Posted by kennydalglish
Посмотреть сообщение
Причем тут павно инфо?

Ай я уже 2 неделю голову ломаю, и что мне с ячейками делать?

Почему нельзя помочи кодом, с комментариями по мне это будет куда лучше...
Куда лучше будет, головой начать думать. На крайний случай есть яндекс и гугл.
Reply
#5

Quote:
Originally Posted by White_116
Посмотреть сообщение
Куда лучше будет, головой начать думать. На крайний случай есть яндекс и гугл.
Ну я и думаю, если бы понимал как, я бы не спрашивал не?

Что мне дает гугл и яндекс?
Даже не знаю как запрос забить
Reply
#6

pawn Код:
`id` — AID в таблице

new listed = 4; // Номер странички 4 к примеру
new str[60];
format(str, 60, "SELECT * FROM `table` ORDER BY `id` ASC LIMIT %i,10", listed * 10);
mysql_tquery(1, str, "GetContent", "");

public GetContent()
{
    new rows = cache_get_row_count();
    if(!rows) return;
    for(new i; i != rows; i++)
    {
    }
}
Reply
#7

Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
pawn Код:
`id` — AID в таблице

new listed = 4; // Номер странички 4 к примеру
new str[60];
format(str, 60, "SELECT * FROM `table` ORDER BY `id` ASC LIMIT %i,10", listed * 10);
mysql_tquery(1, str, "GetContent", "");

public GetContent()
{
    new rows = cache_get_row_count();
    if(!rows) return;
    for(new i; i != rows; i++)
    {
    }
}
Спасибо, но а если как то без указание максимального числа страниц?
То есть без:
PHP код:
new listed 4
Просто получается не по РП, приходит бизнесмен в банк и говорит мне распечатку банковских счетов, а они ему у нас только 4 страницы..
Reply
#8

Одна страница, это 10 записей.
По вашим словам в диалогах по 10 строк, первые 10 строк: listed = 0, 11-20 строка: listed = 1
Reply
#9

Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
pawn Код:
`id` — AID в таблице

new listed = 4; // Номер странички 4 к примеру
new str[60];
format(str, 60, "SELECT * FROM `table` ORDER BY `id` ASC LIMIT %i,10", listed * 10);
mysql_tquery(1, str, "GetContent", "");

public GetContent()
{
    new rows = cache_get_row_count();
    if(!rows) return;
    for(new i; i != rows; i++)
    {
    }
}
Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
Одна страница, это 10 записей.
По вашим словам в диалогах по 10 строк, первые 10 строк: listed = 0, 11-20 строка: listed = 1
Ну и получается ограничение, на 4 страницы не?

Что бы закрыть продолжение о "Можно же увеличить до 10 и т.д", мне не нужно ограничение, можно как то без него?
Reply
#10

Т.е. мозгов тебе не хватает получить количество всех записей в БД, разделить их на 10 и округлить до большего значения?
Reply
#11

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Т.е. мозгов тебе не хватает получить количество всех записей в БД, разделить их на 10 и округлить до большего значения?
Т.е: все на цело делиться не будут, допустим 61 запись (rows ей вернет сколько записей в базе), / 10 = 6.1
И тогда я хз, как в Pawn округлить до целой....
Reply
#12

Tочно так же как и везде, существует три функции round, ceil и floor. Или их модификации.
Причем тебе они доступны как в pawn так ещё и в MySQL.
Reply
#13

если можно ссылку на wiki pawn с функций
Reply
#14

Вы явно форумом и занятием ошиблись!
Другие функции скриптинга
Reply
#15

Зачем округлять, пусть будет 7 страниц. Получится, что на последней будет 1 запись.
Reply
#16

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Зачем округлять, пусть будет 7 страниц. Получится, что на последней будет 1 запись.
PHP код:
CMD:ceil(playerid)
{
    new 
Floatnumber_oneFloatnumber_twostr[128]; // Тестовая ячейка...
     
number_one 15 9;
     
//floatabs(number_two);
     
format(strsizeof str"%f"number_one);
     
SendClientMessageToAll(-1str);
      
format(strsizeof str"%f"floatabs(number_one));
     
SendClientMessageToAll(-1str);

Возвращает 1, и с функций 1, смысл использование функций?

__________________________________________________ _____

Допустим я разделил, дальше запишу значение в глобальную переменную, а дальше какие действия?
Reply
#17

Ты вообще знаешь разницу между абсолютной частью числа и округлением числа?
Сравнивай:
floatabs(5.9)
floatround(5.9)
Reply
#18

PHP код:
CMD:ceil(playerid)
{
    new 
Floatnumber_oneFloatnumber_twostr[128];
     
number_one 15 9;
     
//floatabs(number_two);
     
format(strsizeof str"%f"number_one);
     
SendClientMessageToAll(-1str);
      
format(strsizeof str"%d"floatround(number_onefloatround_ceil));
     
SendClientMessageToAll(-1str);

И там и там 1....

А все же потом алгоритм какой?!
Запишу в глобальную переменную, а дальше как и что делать?
Reply
#19

kennydalglish, мягко говоря, немного в перед с этой темой ты залез.
Поучи немного массивы, операторы, функции Pawn.
Со временем доберёшься до этой темы и решишь её сам.
Reply
#20

Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
kennydalglish, мягко говоря, немного в перед с этой темой ты залез.
Поучи немного массивы, операторы, функции Pawn.
Со временем доберёшься до этой темы и решишь её сам.
Почему нельзя помочь, просто помочь с комментарием кода, я этого не пойму...

Да и массивы, операторы и фун-ци Pawn я знаю
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)