Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ребят помогите сделать выборку. / 10 сообщений из 10, страница 1 из 1
24.05.2015, 17:47:50
    #38967303
artocodes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
2 день сижу не знаю как решить вопрос. Написал поисковик для одной игрухи. Там есть параметры на шмотке. В этом параметре есть число (собственно показатель самого параметра).
Например:
- Увеличение силы на +30
- На 20% ускорение атаки
- Добавляет 10-20 урона от холода
И т. д.
Т. е. числа плавающие по строке. Могут быть в начале, а могут быть в конце или середине.
Количество таких параметров может быть также разным. от 0 до 10

По этому параметру требуется сделать нормальный поиск. Причем чтоб можно было указывать с сайта минимальное число.
Например Увеличение силы (выбираем в селектбоксе) а рядом поле инпут в нем пишем 20. Результат вывод вещей с параметром 20 или выше. На текущий момент у меня просто ищет по тексту, без количества.

У меня из вариантов было
1 - вырезать скриптом числа и символы из строки и сохранить через разделитель в одном столбце (для поиска самого параметра через LIKE %$param%). Сами числа доставать и о5 же через разделитель хранить в следующем столбце. И оригинальный текст с числом хранить в 3 столбце. Эта версия чтоб не плодить 100+ столбиков.
2 - каждый параметр бить на 3 столбика (оригинал для вывода, число, текст параметра). Но в этом случае получаю + 30 столбиков.
3 - хочется как-то сделать выборку игнорируя числа и спец символы. Сравнивая только текст. А потом уже в скрипте делать разбор и сортировать.

Подскажите как можно 3 вариант реализовать? Потому, что первые 2 мне не очень нравятся.
...
Рейтинг: 0 / 0
24.05.2015, 17:55:09
    #38967304
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
artocodes,

Храните каждый параметр в двух полях двумя значениями - числовое значение (для поиска, расчетов и т.п.) и строковое (для визуального отображения).
...
Рейтинг: 0 / 0
24.05.2015, 18:14:51
    #38967312
artocodes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
А 3 вариант реализовать возможно?
Плодить поля и сам код не очень хочется. Плюс сайт достаточно нагруженный получился...
...
Рейтинг: 0 / 0
24.05.2015, 18:51:10
    #38967327
lamer yuga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
artocodes3 - хочется как-то сделать выборку игнорируя числа и спец символы. Сравнивая только текст. А потом уже в скрипте делать разбор и сортировать.

Подскажите как можно 3 вариант реализовать? Потому, что первые 2 мне не очень нравятся.
Конечно можно реализвоать третий вариант!
Тем более задача уже имеет много вариантов решения .
Разработайте нечто аналогичное, всего-то делов! Ежели, паче чаяния, проблема с реализацией возникнет, - рекомендую связаться с авторами решений для получения консультативной помощи.
...
Рейтинг: 0 / 0
24.05.2015, 19:48:23
    #38967350
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
artocodesПлюс сайт достаточно нагруженный получился...Так мой вариант, пожалуй, самый быстрый из возможных.
...
Рейтинг: 0 / 0
24.05.2015, 20:00:23
    #38967359
lamer yuga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
miksoftartocodesПлюс сайт достаточно нагруженный получился...Так мой вариант, пожалуй, самый быстрый из возможных.Самый быстрый, да, хотя я б сделал больше полей:
код, описание, категория, тип (услиление/ослабление/еще что-нибудь), значение

Вот только это второй вариант, а он очень сложный, нужно третий вариант, попроще, с синтаксическим анализом
...
Рейтинг: 0 / 0
24.05.2015, 20:03:47
    #38967362
lamer yuga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
Ой, нет, я ошибся. Вы предложили свой вариант.
По второму варианту все параметры идут одной строкой! Эта пять!
...
Рейтинг: 0 / 0
25.05.2015, 07:42:50
    #38967472
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
artocodesкаждый параметр бить на 3 столбика (оригинал для вывода, число, текст параметра). Но в этом случае получаю + 30 столбиков.Многие-ко-многим? Не, не слышал...

params:{ id: int, text_template:varchar }
idtext_template1"Добавляет :a:-:b: урона от холода"2"На :a:% ускорение атаки"3"Увеличение силы на +:a:"4"Превращает персонажа в :a: на :b: минут"
items: {id: int, name varchar}
idname1"супергипермегамеч11"
item_properties: {itemid int, paramid int, value_a, value_b
itemidparamidvalue_avalue_b11"10""20"12"20"""13"30"""14"ацкава сотону""100500"
...
Рейтинг: 0 / 0
25.05.2015, 09:12:50
    #38967510
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
tanglir,

Тогда уж идти до конца! value_a, value_b тоже можно нормализовать (а то вдруг где несколько параметров случится)
...
Рейтинг: 0 / 0
25.05.2015, 12:55:45
    #38967789
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ребят помогите сделать выборку.
miksoft, конечно, можно. Но я вот сходу не вспомню ни одной игры, в которой у отдельно взятого параметра было бы более трёх атрибутов.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ребят помогите сделать выборку. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]