Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Незначительный Купить персонажа - Стоимость

Упомянутые в теме пользователи:

Показано с 1 по 2 из 2

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Rank 1 Discipline priest x5 Аватар для Пятнашки
    Регистрация
    18.05.2012
    Адрес
    Беларусь, Гомель
    Сообщений
    1,345
    Поблагодарил(а)
    785
    Получено благодарностей: 773 (сообщений: 336).
    Репутация: 1476

    Post Купить персонажа - Стоимость

    1. Вкладка: Купить персонажа, колонка таблицы Стоимость.
    2. В фильтре требуется указать стоимость персонажа.
    3. Должно работать так: указываешь 990, выдаётся список персонажей, стоимость которых точно равна 990, не 1990, не 2990, а только 990.
    Это должно быть понятно, что если человек вводит 990, то он больше денег не имеет. Тем более поле int, и применять в запросе к int полю like %smth% это что-то из ряда вон выходящее.

    При этом, если мы указываем цену 990, то мы должны увидеть список персонажей которые нам обойдутся в 990 бонусов, а не список персонажей, которые нам обойдутся 1089 с учётом % сервера за выкуп. Тоесть при фильтре мы должны сделать так: указываем 990 бонусов, в это время в запросе будет
    Код:
    SELECT * FROM table WHERE price = :userPrice; 
    // userPrice = userInputPrice / 1.1;(в случае если у нас комиссия 1.1)
    // userInputPrice - это та цена, которую пользователь ввёл в поле фильтра в лк.
    В итоге получаем корректно работающий запрос. Т.к. я понимаю что в БД мы храним цены без учёта комиссии, ровно такие цены, какие выставили игроки у себя. Но ищем то мы персонажей с учётом комиссии. Поэтому это надо сделать так. И убрать LIKE в запросе.



    Спасибо

    А вообще по хорошему должны быть ещё выпадающие списки расы, с возможностью выбора конкретной расы, а не группы рас.
    Также предлагаю сразу тут, если будете переделывать со стоимостью, то введите дополнительный парсер знака перед суммой, например, вводим строк "<1300" и запрос уже будет выглядеть так:
    Код:
    SELECT * FROM table WHERE price = :userPrice;
    или сделайте рядом выпадающий список доступных знаков, < > >= <= = чтобы можно было выбрать и применить к стоимости. Так будет удобнее.



    Если возникнут вопросы по реализации, я могу помочь, если что т.к. подобное уже делал в другом своём проекте, но вместо стоимости у меня была дата, но суть одна и таже и знаю что сделать это легко, если не лень, а игрокам будет удобнее. И шанс что они найдут то, что хотят и купят, будет в разы больше.

    Упрощённо-наглядное моё решение аналогичной проблемы



    Код HTML:
    <div class="row">
        <div class="col-sm-4">
            <label for="dateSign">Условие</label>
            <select class="form-control" id="dateSign" name="dateSign">
                <option value="eq">=</option>                
                <option value="lt">&lt;</option>                
                <option value="gt">&gt;</option>                
                <option value="le">&le;</option>                
                <option value="ge">&ge;</option>                
            </select>
        </div>
        <div class="col-sm-8">
            <label for="date">Дата</label>
            <input class="form-control" type="date" id="date" name="date">                
        </div>
    </div>
    PHP код:
    if (!empty($_POST['date'])) {
        
    $date_ymd Transform::dateToYMD($_POST['date']);
        if (isset(
    $_POST['dateSign'])) {
            switch (
    $_POST['dateSign']) {
                case 
    'lt':
                    
    $sign '<';
                    break;
                case 
    'gt':
                    
    $sign '>';
                    break;
                case 
    'le':
                    
    $sign '<=';
                    break;
                case 
    'ge':
                    
    $sign '>=';
                    break;
                default:
                    
    $sign '=';
                    break;
            }
        }
        
    $query .= ' AND date ' $sign ' "' $date_ymd '"';

    [свернуть]
    Последний раз редактировалось Пятнашки; 14.05.2018 в 08:38.
    Despondency (2015)


    Мой стрим: https://www.twitch.tv/pjatnashki
    О стриме: обычно аренка дцферал, дцвар, шпмаг, дцмаг

    Моя мини-программа: Snapshot Rename
    Мой аддон по фильтру спама на почту: MailFilter

  2. 1 пользователь сказал cпасибо Пятнашки за это полезное сообщение:

    Anmon (14.05.2018)

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 24.10.2017, 06:41
  2. Ответов: 11
    Последнее сообщение: 01.10.2016, 09:30
  3. Ответов: 9
    Последнее сообщение: 29.09.2016, 14:10

Ваши права

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