Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±

    Помогите с проверочкой).

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

    И так, в чём же суть вопроса? Например если в таблице с заказами продуктов, уже есть заказ.. И если ещё раз заказать, то создаётся ещё одна строка, с таким же id, name, но с другим количеством. И вот, как сделать так, что бы оно проверяло, если уже данный id есть в таблице, то оно будет НЕ ДОБАВЛЯТЬ (INSERT INTO), а обновлять строку (UPDATE). Пытался сделать, но увы, сток не вызывается. Вот что получилось сделать.
      Открыть/закрыть
    В диалоге:
    PHP код:
                SendClientMessage(playeridCOLOR_GREEN"Товар заказан, ожидайте доставки");
                   
    mysql_format(connectsstringsizeof(string), "SELECT * FROM `orders_product` WHERE `id` = '%d'"BusinessInfo[id][bID]);
                
    mysql_function_query(connectsstringtrue"Orders_Product""i"playerid); 
    Сам сток Orders_Product:
    PHP код:
    stock Orders_Product(playerid)
    {
        static 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    mysql_format(connectsstringsizeof(string), "UPDATE `orders_product` SET `name` = '%s', `amount` = '%d' WHERE `id` = '%d'"BusinessInfo[id][bName], prodBusinessInfo[id][bID]);
            
    mysql_function_query(connectsstringfalse"""");
            return 
    true;
        }
        else
        {
            
    mysql_format(connectsstringsizeof(string), "INSERT INTO `orders_product` VALUES ('%d', '%s', '%d')"BusinessInfo[id][bID], BusinessInfo[id][bName], prod);
            
    mysql_function_query(connectsstringfalse"""");
        }
        
    mysql_function_query(connects"SELECT * FROM `orders_product`"true"Load_OrdersProduct""");
        return 
    true;



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

  2. #2
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,467
    Репутация:
    265 ±
    Выведите значение rows на экран.

  3. #3
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Выведите значение rows на экран.
    Я в mysql разбираюсь чуть-чуть, поэтому данный вопрос не понял(.
    Кстати, вначале стока сделал print("Сток сработал");
    Проверил, ну и сток даже не вызвался...

  4. #4
    Аватар для VVWVV
    Проверенный

    Статус
    Онлайн
    Регистрация
    09.07.2015
    Сообщений
    660
    Репутация:
    314 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    Я в mysql разбираюсь чуть-чуть, поэтому данный вопрос не понял(.
    Кстати, вначале стока сделал print("Сток сработал");
    Проверил, ну и сток даже не вызвался...
    Плагин вызывает паблик, а не сток.

  5. 3 пользователя(ей) сказали cпасибо:
    $continue$ (20.12.2015)L0ndl3m (20.12.2015)StevenH (20.12.2015)
  6. #5
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Плагин вызывает паблик, а не сток.
    Спасибо большое. Только проблема опять появилась, но думаю я решу(.

  7. #6
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±
    Сделал. Закройте темку.

  8. #7
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    768 ±
    Поделитесь решением.

  9. #8
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    507
    Репутация:
    19 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Поделитесь решением.
    Код дно у меня, поэтому если что, то...
    PHP код:
    publicsOrders_Product(playerid)
    {
        static 
    rowsfields;
        new 
    string[285];
        new 
    prod GetPVarInt(playerid"OrdersProd");
        new 
    price prod;
        new 
    id PlayerInfo[playerid][pBusiness];
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    SendClientMessage(playeridCOLOR_GRAY"Ваш заказ уже есть в базе, ожидайте доставки!");
            return 
    true;
        }
        else
        {
            
    mysql_format(connectsstringsizeof(string), "INSERT INTO `orders_product` VALUES ('%d', '%s', '%d')"BusinessInfo[id][bID], BusinessInfo[id][bName], prod);
            
    mysql_function_query(connectsstringfalse"""");
            
    TransferMoney(playerid, -1price*3"orderbusiprod");
            
    SendClientMessage(playeridCOLOR_GREEN"Товар заказан, ожидайте доставки");
        }
        
    mysql_function_query(connects"SELECT * FROM `orders_product`"true"Load_OrdersProduct""");
        return 
    true;


 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •