SA-MP Forums Archive
Вопрос о sizeof() - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Вопрос о sizeof() (/showthread.php?tid=297397)



Вопрос о sizeof() - Crystal_Speed - 15.11.2011

Ребят, драсте ещё раз.
Меня озадачил вопрос, как можно вернуть sizeof из таблицы MySQL?
Мои догадки ведут меня на создание нового паблика который получает кол-во строк из таблицы и возвращает их, прально?
Допустим, for(new i = 0; i < sizeof(GetMysqlRows(tablename)); i++) - будет ли работать данная функция?
tablename - название таблицы.


Re: Вопрос о sizeof() - CraftMan - 15.11.2011

только намекну... помучий, возможно это совсем не то, покажи на примере что ты хочешь!!
Quote:

GROUP BY




Re: Вопрос о sizeof() - Crystal_Speed - 15.11.2011

я уже сделал что то подобное
Код:
public GetMysqlNumRows(table[])
{
	new query[64];
	format(query,sizeof(query),"SELECT * FROM %s",table);
	if (samp_mysql_num_rows()==0)
	{
		return 0;
	}
	else
	{
		return samp_mysql_num_rows();
	}
}
на работоспособность не проверял ещё. Иду в правильном направлении?


Re: Вопрос о sizeof() - Serafim_sd - 15.11.2011

SELECT COUNT(*) FROM %s


Re: Вопрос о sizeof() - Crystal_Speed - 15.11.2011

Спасибо серафим, так будет быстрее?


Re: Вопрос о sizeof() - Stepashka - 16.11.2011

Quote:
Originally Posted by Serafim_sd
Посмотреть сообщение
SELECT COUNT(*) FROM %s
только наверно все таки SELECT COUNT(*) as count FROM %s иначе замучаются потом получать поле


Re: Вопрос о sizeof() - EvgeN 1137 - 16.11.2011

Quote:

Меня озадачил вопрос, как можно вернуть sizeof из таблицы MySQL?

sizeof функция компилятора, которая определяет размер указанного массива и при компилировании это sizeof заменяется на цифру - размер массива. Если размеры массива не указаны, например,
pawn Код:
public OnPlayerText(playerid, text[])
, то попыка заюзать sizeof(text) выдаст ошибку. Чтобы узнать размер массива во время работы мода, надо юзать strlen()

Edit: ах, да. strlen возвращает не максимальный размер самого массива, а размер массива, то есть на сколько он заполнен


Re: Вопрос о sizeof() - Stepashka - 16.11.2011

Quote:
Originally Posted by EvgeN 1137
Посмотреть сообщение
Чтобы узнать размер массива во время работы мода, надо юзать strlen()
strlen не определяет размер массива, она определяет длину строки в массиве. Но с учетом того что передаваемая строка обычно равна длине массива, многие используют данную функция неправильно.


Re: Вопрос о sizeof() - EvgeN 1137 - 16.11.2011

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
strlen не определяет размер массива, она определяет длину строки в массиве. Но с учетом того что передаваемая строка обычно равна длине массива, многие используют данную функция неправильно.
я уже это написал в своём отредактированном посте... Так что лучше взять массив побольше (логически подумать, какой будет максимальный размер таблицы), туда загрузить таблицу из MySQL и вычесть размер strlen'ом

P.S. я в MySQL дуб, так что мой текст может быть бредом


Re: Вопрос о sizeof() - Stepashka - 16.11.2011

Quote:
Originally Posted by EvgeN 1137
Посмотреть сообщение
я уже это написал в своём отредактированном посте... Так что лучше взять массив побольше (логически подумать, какой будет максимальный размер таблицы), туда загрузить таблицу из MySQL и вычесть размер strlen'ом

P.S. я в MySQL дуб, так что мой текст может быть бредом
решение написано выше, мог не утруждать себя последним постом.