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

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

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

    Всем привет. Делаю развозчиков продуктов, ну и почти закончил заказ продуктов. Коротко как я сделал:
    При заказе продуктов, в отдельной таблице создаётся строка (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,487
    Репутация:
    276 ±
    Выведите значение rows на экран.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

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

  4. #4
    Аватар для VVWVV
    ?

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

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

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

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

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

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

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

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от 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)

Ваши права

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