Помогите додумать... -
pozitiv4eg - 28.10.2013
Привет всем, спасибо что поинтересовались данным топиков.
Есть проблема...
У меня в базе есть такая таблица
id,name,reason,admin,answer.
Мне нужен вывод в диалог(LISTITEM) поля name всех полей name.
Можете пример дать какой-нибудь или подсказать а то в голову ничего не лезет
Re: Помогите додумать... -
Alexander_Petrov - 28.10.2013
SELECT `name` FROM `table` WHERE 1
А дальше зависит от того, какой плагин используешь.
Для BlueG раньше R7:
pawn Код:
mysql_store_result();
while(mysql_fetch_row_format(string)) {
strcat(dest, "\n");
strcat(dest, string);
}
Для BlueG R7 и позже:
pawn Код:
cache_get_data(rows, fields);
for(new row; row < rows; row++) {
strcat(dest, "\n");
cache_get_row(row, 0, string);
strcat(dest, string);
}
Re: Помогите додумать... -
pozitiv4eg - 28.10.2013
В базе mysql есть к примеру 10 имен.
Мне в диалоге
их нужно вывести...
Re: Помогите додумать... -
Alexander_Petrov - 28.10.2013
Ну, пост я отредактировал, вдруг ты не заметил.
Re: Помогите додумать... -
pozitiv4eg - 28.10.2013
Спасибо
Re: Помогите додумать... -
pozitiv4eg - 28.10.2013
А еще глупый вопрос, а как мне узнать кого человек выбрал, к примеру он с конца или с серидины начинать будет?
Re: Помогите додумать... -
Alexander_Petrov - 28.10.2013
Тут тогда будет лучше чуть другое решение. Для начала скажи, есть ли у тебя максимальное число строк в таблице, больше которого быть не может.
Re: Помогите додумать... -
pozitiv4eg - 28.10.2013
Quote:
SELECT `name` FROM `report` WHERE `type`=1
|
type будет меняться, а число будет не известно))) Потому что я не знаю сколько будут писать
Re: Помогите додумать... -
Alexander_Petrov - 28.10.2013
Тогда тебе придется выводить не сразу всё, а по 20 записей, например, а также понадобится еще и id.
pawn Код:
SELECT `name`, `id` FROM `report` WHERE `type`=1 LIMIT 20
Создай массив для игроков Listitems[MAX_PLAYERS][20] и заполняй его данными из поля id, когда форматируешь диалог по порядку. Например, для R7+ будет конструкция такая:
pawn Код:
cache_get_data(rows, fields);
for(new row; row < rows; row++) {
strcat(dest, "\n");
cache_get_row(row, 0, string);
strcat(dest, string);
Listitems[playerid][row] = cache_get_row_int(row, 1);
}
Если я правильно понял, что ты там у себя конструируешь, тебе придется столкнуться еще с тысячей нюансов, из-за чего, судя по твоему уровню, все бросишь или оставишь недоделкой.
Re: Помогите додумать... -
stabker - 28.10.2013
При выборе item в диалоге типа list, в inputtext[] OnDialogResponse попадает название пункта. Дальше делаешь нужные запросы, используя инфу из inputtext. Но можно и по-другому (как предложил Alexander_Petrov), это как вариант.