Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2016, 13:20   #1
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию Простая программа: вывести из БД записи, содержащие слова, совпадающие с заданным словом

Подскажите с задачкой. В базе данных есть список слов например
1 слово - супер
2 слово - маркет
3 слово - кет

Есть форма у которую вводиться слово например супермаркет
вывести должно эти 3 слова которые есть в базе.
Как я понимаю это оберненно к оператору LIKE подскажите как делать кто знает
Vika2016 вне форума Ответить с цитированием
Старый 15.12.2016, 13:39   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а зачем это? а если в базе есть слово арк или слово Перм их тоже надо выводить?
а какая БД?

для MySQL можно попробовать такой запрос:

Код:
SELECT * FROM `tabletest` where 'супермаркет' like concat('%',`kword`,'%')

Последний раз редактировалось Serge_Bliznykov; 15.12.2016 в 13:45.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.12.2016, 14:00   #3
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а зачем это? а если в базе есть слово арк или слово Перм их тоже надо выводить?
а какая БД?

для MySQL можно попробовать такой запрос:

Код:
SELECT * FROM `tabletest` where 'супермаркет' like concat('%',`kword`,'%')
База MySQL
арк или перм конечно выводить не нужно
Просто задание такое что нужно вывести только те слова которые входят в то слово которое вводят у форму

еще пример приведу
в базе есть слова: гол, супер, маркет, авто, дерево и тд..
у форму ввожу слово Автогол а вывести должно два слова гол и авто
Vika2016 вне форума Ответить с цитированием
Старый 15.12.2016, 14:06   #4
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

И еще как это работает
Код:
like concat('%',`kword`,'%')
Vika2016 вне форума Ответить с цитированием
Старый 15.12.2016, 14:30   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Vika2016 Посмотреть сообщение
арк или перм конечно выводить не нужно
мотивируйте это, пожалуйста.


Цитата:
Сообщение от Vika2016 Посмотреть сообщение
вывести только те слова которые входят в то слово которое вводят у форму
супермаркет -> супермаркет
супермаркет -> супермаркет

что не так?


Цитата:
Сообщение от Vika2016 Посмотреть сообщение
И еще как это работает
Код:
like concat('%',`kword`,'%')
`kword` - это наименование поля в таблице, где хранятся наименования полей
concat - это объединение (слияние == конкатенация) строк.
в результате в запросе выполняется
Код:
ВашеСлово  like '%'+поле_в_БД+'%'
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.12.2016, 15:14   #6
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
мотивируйте это, пожалуйста.




супермаркет -> супермаркет
супермаркет -> супермаркет

что не так?



`kword` - это наименование поля в таблице, где хранятся наименования полей
concat - это объединение (слияние == конкатенация) строк.
в результате в запросе выполняется
Код:
ВашеСлово  like '%'+поле_в_БД+'%'
даа туплю если арк и перм есть в базе то выводить нужно
Vika2016 вне форума Ответить с цитированием
Старый 15.12.2016, 16:20   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Vika2016 Посмотреть сообщение
есть в базе то выводить нужно
хорошо.

проверили решение с like concat('%',`kword`,'%') ?
работает? устраивает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.12.2016, 17:22   #8
Vika2016
Пользователь
 
Регистрация: 24.02.2016
Сообщений: 69
По умолчанию

Вроде вполне нормально. Спасибо за подсказку
Vika2016 вне форума Ответить с цитированием
Старый 15.12.2016, 17:47   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не за что. всегда пожалуйста!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны предложения. Вывести слова, содержащие максимальное количество различных букв. ggjgj Общие вопросы C/C++ 0 03.12.2016 19:02
Из введенного предложения вывести на экран все слова, содержащие букву. luuucky Паскаль, Turbo Pascal, PascalABC.NET 4 31.01.2016 15:03
В текстовом файле найти все слова, совпадающие с заданным пользователем и поменять их местами с соседними справа словами ( c# ) CROWN Помощь студентам 4 24.12.2014 15:57
Вывести слова строки, содержащие определенные буквы (СИ) camel5 Общие вопросы C/C++ 2 01.02.2014 11:09
Вывести на консоль слова не содержащие цифры Luchia Помощь студентам 0 20.12.2011 13:30