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

    Статус
    Оффлайн
    Регистрация
    13.06.2018
    Сообщений
    58
    Репутация:
    1 ±

    слет домов в offline

    SELECT * FROM `houses` WHERE `id` = '%d' AND date > CURDATE() LIMIT 1000 - почему запрос не работает? Дата, названия таблицы и столбца верные, проверял

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Структуру таблицы предоставь. А заодно и пример содержимого
    Последний раз редактировалось DeimoS; 07.09.2018 в 15:45.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.06.2018
    Сообщений
    58
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Структуру таблицы предоставь. А заодно и пример содержимого
    Структура:

    Пример:

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Нужна полная структура и полное содержимое, а не только этого столбца :)
    И попробуй выполнить этот запрос прямо в браузере
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для X!X
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.06.2018
    Сообщений
    58
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Нужна полная структура и полное содержимое, а не только этого столбца :)
    И попробуй выполнить этот запрос прямо в браузере
    Выполнил, все нормально
    !
    Последний раз редактировалось X!X; 11.09.2018 в 18:51.

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, ну если сработал запрос правильно, то показывай код, который у тебя не срабатывает (код запроса + код обработки результата)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.06.2018
    Сообщений
    58
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, ну если сработал запрос правильно, то показывай код, который у тебя не срабатывает (код запроса + код обработки результата)
    !!!!!!!
    Последний раз редактировалось X!X; 11.09.2018 в 18:52.

  8. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
      Открыть/закрыть
    Эмм, а может стоит отправить один запрос в базу и просто получить список домов, у которых дата слёта превысила норму, чем отправлять запрос под каждый конкретный дом?
    Код крайне нелогично реализован сейчас и нет смысла пытаться исправить его :) Тут только переписывать всё

    Да и зачем ты проверяешь кэш на валидность? Вместо этого достаточно перенести cache_delete в блок с условием if(cache_num_rows()), которое обеспечивает 100% существование кэша.

    Так же в запросе на обновление ни к чему указание "LIMIT 1", так как в условии на выборку указан столбец с уникальным значением и MySQL автоматом будет искать только 1 строку.


    UPD: Хотя вообще непонятно зачем ты насилуешь базу данных в этом случае. Так как ты ориентируешься на дату, проверять слетевшие дома можно раз в сутки. А чтоб всё максимально упростить, то проверять можно при каждом запуске сервера/рестарте. И вся проверка будет выглядеть так:

    1. mysql_query(dbHandle, "UPDATE houses SET owner = '-1' WHERE date > CURDATE()", false);
    2. //А тут уже запрос на загрузку данных о домах из таблицы

    То бишь, сначала проверяешь, есть ли дома на продажу, продавая их, а потом уже грузишь обновлённые данные, не мучая сервер.
    А чтоб вернуть 80% стоимости дома владельцу, просто составляй двойной запрос. Что-то типа:
    1. UPDATE houses AS h, accounts AS a SET h.owner = '-1', a.money = a.money+h.price*8/10 WHERE h.owner != '-1' AND date > CURDATE() AND a.player_name = h.owner

    Это не финальный запрос и не факт, что он сработает как надо, но общий принцип таков.
    В общем, вместо всей той кучи кода, что ты настрочил, можно всё сделать в одном запросе :)
    Последний раз редактировалось DeimoS; 09.09.2018 в 19:01.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    X!X (10.09.2018)
 

 

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

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

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

Ваши права

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