Рекомендованные сообщения



6 posts in this topic

Всем привет! 

 

У меня на проекте есть система штрафов, когда игрок оплачивает один штраф по его номеру все нормально. 

 

Вопрос: Как мне в mysql сложить один столбик со всех строк путем вычислений что бы на сервере получить общую сумму для оплаты всех разом штрафов?

Нужный мне столбик обведен! Кликабельно!

 

 

Share this post


Link to post
Share on other sites

@Andrei_Morozov

SELECT SUM(price) FROM таблица WHERE (условие)

В целом, запрос читается так: "Получить сумму значений из столбца "price" в таблице "таблица", где (условие). Например, для игрока с номером 1 будет так:

SELECT SUM(price) FROM таблица WHERE number = 1

И результат данного запроса будет возвращен как столбец с названием "SUM(price)". То есть для его загрузки придется использовать следующий вариант:

new sum;
cache_get_value_name_int(0, "SUM(price)", sum);

Можно и придать виртуальное имя данному столбцу. Например, назовем его "ticket_sum":

SELECT SUM(price) AS ticket_sum FROM таблица WHERE number = 1

И загрузка тогда примет следующий вид:

new sum;
cache_get_value_name_int(0, "ticket_sum", sum);

 

Share this post


Link to post
Share on other sites
1 час назад, odosenok сказал:

@Andrei_Morozov


SELECT SUM(price) FROM таблица WHERE (условие)

В целом, запрос читается так: "Получить сумму значений из столбца "price" в таблице "таблица", где (условие). Например, для игрока с номером 1 будет так:


SELECT SUM(price) FROM таблица WHERE number = 1

И результат данного запроса будет возвращен как столбец с названием "SUM(price)". То есть для его загрузки придется использовать следующий вариант:


new sum;
cache_get_value_name_int(0, "SUM(price)", sum);

Можно и придать виртуальное имя данному столбцу. Например, назовем его "ticket_sum":


SELECT SUM(price) AS ticket_sum FROM таблица WHERE number = 1

И загрузка тогда примет следующий вид:


new sum;
cache_get_value_name_int(0, "ticket_sum", sum);

 

 

Как мне выгрузить на mysql r36-9

Share this post


Link to post
Share on other sites

@Andrei_Morozov, покажи загрузку чего-нибудь (домов или машин как пример).

Share this post


Link to post
Share on other sites
55 минут назад, Talex сказал:

@Andrei_Morozov, покажи загрузку чего-нибудь (домов или машин как пример).

 

Спойлер

publics LoadHouse()
{
    new time = GetTickCount();
    new rows, fields;
	cache_get_data(rows, fields);
	for(new i; i < TOTALHOUSE; i++) strmid(HouseInfo[i][hOwner],"None",0,strlen("None"),MAX_PLAYER_NAME);
	if(rows)
	{
		for(new idx = 1; idx <= rows; idx++)
		{
		    HouseInfo[idx][hID] = cache_get_row_int(idx-1, 0, mysql); // id
			HouseInfo[idx][hEntr][0] = cache_get_row_float(idx-1, 1, mysql); // hEntrx
			HouseInfo[idx][hEntr][1] = cache_get_row_float(idx-1, 2, mysql); // hEntry
			HouseInfo[idx][hEntr][2] = cache_get_row_float(idx-1, 3, mysql); // hEntrz
			HouseInfo[idx][hCar][0] = cache_get_row_float(idx-1, 4, mysql); // carx
			HouseInfo[idx][hCar][1] = cache_get_row_float(idx-1, 5, mysql); // cary
			HouseInfo[idx][hCar][2] = cache_get_row_float(idx-1, 6, mysql); // carz
			HouseInfo[idx][hCar][3] = cache_get_row_float(idx-1, 7, mysql); // carfa
			cache_get_row(idx-1, 8, HouseInfo[idx][hOwner], mysql, MAX_PLAYER_NAME); // hOwner
			HouseInfo[idx][hClass] = cache_get_row_int(idx-1, 9, mysql); // hClass
			HouseInfo[idx][hPrice] = cache_get_row_int(idx-1, 10, mysql); // hPrice
			HouseInfo[idx][hBuyPrice] = cache_get_row_int(idx-1, 11, mysql); // buyprice
			HouseInfo[idx][hInt] = cache_get_row_int(idx-1, 12, mysql); // hInt
			HouseInfo[idx][hLock] = cache_get_row_int(idx-1, 13, mysql); // hLock
			HouseInfo[idx][hDays] = cache_get_row_int(idx-1, 14, mysql); // hDays
			HouseInfo[idx][hHeal] = cache_get_row_int(idx-1, 15, mysql); // hHeal
			HouseInfo[idx][hGarage] = cache_get_row_int(idx-1, 16, mysql); // hGarage
			HouseInfo[idx][hAutoDoors] = cache_get_row_int(idx-1, 17, mysql); // hAutoDoors
			HouseInfo[idx][hSubsidia] = cache_get_row_int(idx-1, 18, mysql); // hSubsidia

			if(HouseInfo[idx][hDays] < 1 || HouseInfo[idx][hDays] > 30) HouseInfo[idx][hDays] = 1;

           	HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], (GetString(HouseInfo[idx][hOwner],"None")) ? (31) : (32), 0, -1, -1, -1, 15.0);

			if(GetString(HouseInfo[idx][hOwner],"None")) HouseInfo[idx][hObjectEnter] = CreateDynamicPickup(1273, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 0);
			else HouseInfo[idx][hObjectEnter] = CreateDynamicPickup(1272, 23, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2], 0);

            new texthouse[15];
			format(texthouse, sizeof(texthouse), "Дом №%i", idx);
			HouseInfo[idx][hTextEnter] = CreateDynamic3DTextLabel(texthouse, 0xFFFFFFFF, HouseInfo[idx][hEntr][0], HouseInfo[idx][hEntr][1], HouseInfo[idx][hEntr][2]+1.0, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);

			new _c = HouseInfo[idx][hClass], _i = HouseInfo[idx][hInt];
			if(!HouseInfo[idx][hAutoDoors]) HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFFF00}'/exit'\n{FFFFFF}Управление домом - {FFFF00}'/home'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]);
			else HouseInfo[idx][hTextExit] = CreateDynamic3DTextLabel("Выход - {FFFF00}'ALT'\n{FFFFFF}Управление домом - {FFFF00}'/home'", 0xFFFFFFFF, HintsInfo[_c][_i][hiExitX], HintsInfo[_c][_i][hiExitY], HintsInfo[_c][_i][hiExitZ], 6.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, HouseInfo[idx][hID], HintsInfo[_c][_i][hiInt]);

			TOTALHOUSE++;
        }
        printf("Дома | %d - Дома были успешно загружены за (%d мс)!", TOTALHOUSE, GetTickCount() - time);
    }
    else printf("Дома | Дома дома не созданы!");
	return 1;
}

 

 

Share this post


Link to post
Share on other sites

@Andrei_Morozov,

new rows, fields;
cache_get_data(rows, fields);
new sum = cache_get_row_int(0, 0, mysql);

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Vadim Grineev
      By Vadim Grineev
      пишу /park в чате выдаёт авто припарковано когда пытаюсь заново загрузить оно припарковано возле автосалона как и после покупки
      Вот код:
      CMD:park(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в транспорте"); new vehicleid; if(GetPlayerOwnableCar(playerid) != GetPlayerVehicleID(playerid) && GetPlayerOwnablCar(playerid) != GetPlayerVehicleID(playerid)) return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в личном транспорте"); else { vehicleid = GetPlayerVehicleID(playerid); } new green_zone_id = GetPVarInt(playerid, "player_in_green_zone") - 1; if(green_zone_id != -1) { if(!g_green_zones[green_zone_id][GZ_ALLOW_PARK]) { new fmt_text[144]; format(fmt_text, sizeof fmt_text, "На территории {FFFF00}'%s' {3399FF}парковка личного транспорта запрещена. Выберите другое место для парковки", g_green_zones[green_zone_id][GZ_NAME]); SendClientMessage(playerid, 0x3399FFFF, fmt_text); return 1; } } new query[912]; new index = GetVehicleData(vehicleid, V_ACTION_ID); new Float: x, Float: y, Float: z, Float: angle; GetVehiclePos(vehicleid, x, y, z); GetVehicleZAngle(vehicleid, angle); format(query, sizeof query, "UPDATE ownable_cars SET pos_x=%f,pos_y=%f,pos_z=%f,angle=%f WHERE id=%d LIMIT 1", x, y, z, angle, GetOwnableCarData(index, OC_SQL_ID)); mysql_tquery(mysql, query, "", ""); GetVehiclePos(vehicleid, GetOwnableCarData(index, OC_POS_X), GetOwnableCarData(index, OC_POS_Y), GetOwnableCarData(index, OC_POS_Z)); GetVehicleZAngle(vehicleid, GetOwnableCarData(index, OC_ANGLE)); SaveOwnableCar(vehicleid); return SendClientMessage(playerid, 0x66CC00FF, "Транспорт припаркован"); }  
    • Guik
      By Guik
      Всем привет! Сегодня я столкнулся с проблемой выдачи rcon администратора. Я играю с телефона и не знаю как это делать. Помогите пожалуйста!!!
      Если что мод "SAMP MOBILE".