PDA

Просмотр полной версии : [Вопрос] Помогите с проверочкой).



StevenH
20.12.2015, 18:59
Всем привет. Делаю развозчиков продуктов, ну и почти закончил заказ продуктов. Коротко как я сделал:
При заказе продуктов, в отдельной таблице создаётся строка (INSERT INTO), со следующими столбцами:
- id (ид бизнеса)
- name (название бизнеса)
- amount (кол-во товара).

И так, в чём же суть вопроса? Например если в таблице с заказами продуктов, уже есть заказ.. И если ещё раз заказать, то создаётся ещё одна строка, с таким же id, name, но с другим количеством. И вот, как сделать так, что бы оно проверяло, если уже данный id есть в таблице, то оно будет НЕ ДОБАВЛЯТЬ (INSERT INTO), а обновлять строку (UPDATE). Пытался сделать, но увы, сток не вызывается. Вот что получилось сделать.
В диалоге:


SendClientMessage(playerid, COLOR_GREEN, "Товар заказан, ожидайте доставки");
mysql_format(connects, string, sizeof(string), "SELECT * FROM `orders_product` WHERE `id` = '%d'", BusinessInfo[id][bID]);
mysql_function_query(connects, string, true, "Orders_Product", "i", playerid);


Сам сток Orders_Product:


stock Orders_Product(playerid)
{
static rows, fields;
cache_get_data(rows, fields);
if(rows)
{
mysql_format(connects, string, sizeof(string), "UPDATE `orders_product` SET `name` = '%s', `amount` = '%d' WHERE `id` = '%d'", BusinessInfo[id][bName], prod, BusinessInfo[id][bID]);
mysql_function_query(connects, string, false, "", "");
return true;
}
else
{
mysql_format(connects, string, sizeof(string), "INSERT INTO `orders_product` VALUES ('%d', '%s', '%d')", BusinessInfo[id][bID], BusinessInfo[id][bName], prod);
mysql_function_query(connects, string, false, "", "");
}
mysql_function_query(connects, "SELECT * FROM `orders_product`", true, "Load_OrdersProduct", "");
return true;
}


Знаю, что получился бред, но всё же, помогите решить данную проблемку..

$continue$
20.12.2015, 19:13
Выведите значение rows на экран.

StevenH
20.12.2015, 19:15
Выведите значение rows на экран.

Я в mysql разбираюсь чуть-чуть, поэтому данный вопрос не понял(.
Кстати, вначале стока сделал print("Сток сработал");
Проверил, ну и сток даже не вызвался...

VVWVV
20.12.2015, 19:19
Я в mysql разбираюсь чуть-чуть, поэтому данный вопрос не понял(.
Кстати, вначале стока сделал print("Сток сработал");
Проверил, ну и сток даже не вызвался...
Плагин вызывает паблик, а не сток.

StevenH
20.12.2015, 19:25
Плагин вызывает паблик, а не сток.

Спасибо большое. Только проблема опять появилась, но думаю я решу(.

StevenH
20.12.2015, 22:16
Сделал. Закройте темку.

L0ndl3m
20.12.2015, 22:17
Поделитесь решением.

StevenH
20.12.2015, 22:43
Поделитесь решением.

Код дно у меня, поэтому если что, то...

publics: Orders_Product(playerid)
{
static rows, fields;
new string[285];
new prod = GetPVarInt(playerid, "OrdersProd");
new price = prod;
new id = PlayerInfo[playerid][pBusiness];
cache_get_data(rows, fields);
if(rows)
{
SendClientMessage(playerid, COLOR_GRAY, "Ваш заказ уже есть в базе, ожидайте доставки!");
return true;
}
else
{
mysql_format(connects, string, sizeof(string), "INSERT INTO `orders_product` VALUES ('%d', '%s', '%d')", BusinessInfo[id][bID], BusinessInfo[id][bName], prod);
mysql_function_query(connects, string, false, "", "");
TransferMoney(playerid, -1, price*3, "orderbusiprod");
SendClientMessage(playerid, COLOR_GREEN, "Товар заказан, ожидайте доставки");
}
mysql_function_query(connects, "SELECT * FROM `orders_product`", true, "Load_OrdersProduct", "");
return true;
}