Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/50: Рейтинг темы: голосов - 50, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26

Сделать поиск по сайту

13.11.2009, 21:35. Показов 10035. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такая проблема:
делаю поиск по сайту, сделал форму и исполнительный файл. Вот часть:

1. $result = mysql_query("SELECT id,title,description, date, author, mini_img, view FROM data WHERE MATCH(text) AGAINST('$search')",$db);
1.Поиск в "text" работает, а если хочу прописать чтоб искало в "description" - ошибка! Что не так?

2. Я хотел еще сделать вибор где искать(в тексте, в оглавлении,..). Делаю через if. Правильно?

P.S. Может кто-то будет смеятся с вопроса, но я учусь, и хочу научится делать сам
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2009, 21:35
Ответы с готовыми решениями:

Как сделать поиск по сайту?
Всем привет. Мне нужно сделать поиск по сайту. Есть таблица с категориями товаров - cms_uc_cats, в столбще title находится название, по...

Как сделать поиск по сайту с базой данных на xml
Здравствуйте. Есть сайт, хотел обновить на нем поиск. Сейчас он работает таким образом, что при вводе он выдает подсказки и по этим...

Поиск по сайту: не могу разобраться, как делать поиск по нескольким полям
поиск по одному полу осуществляется вот так: SELECT * from tablepart WHERE `marka` LIKE '%" . $search . "%' or `model` LIKE '%"...

8
 Аватар для Delegat
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
13.11.2009, 22:13
Поиск лучше конечно делать через LIKE, если это конечно не какой то особенный поиск по сайту )

PHP
1
$result = mysql_query("SELECT id,title,description, date, author, mini_img, view FROM data WHERE text LIKE '%$result%'",$db) or die(mysql_error());
Ну и так же с описание попробовать.
1
 Аватар для MaskiLov
11 / 9 / 0
Регистрация: 10.11.2009
Сообщений: 99
13.11.2009, 22:27
Цитата Сообщение от Tol82 Посмотреть сообщение
2. Я хотел еще сделать вибор где искать(в тексте, в оглавлении,..). Делаю через if. Правильно?
Можно делать так, в первую очередь выводить оглавление + текст, потом - оглавление, потом - текст.

Ну, и, конечно же, если объемы солидные - делайте таблицу с индексами слов и отдельную - уже с индексом самого текста.
0
 Аватар для tyz
356 / 315 / 48
Регистрация: 21.04.2009
Сообщений: 574
14.11.2009, 12:36
Цитата Сообщение от Tol82 Посмотреть сообщение
$result = mysql_query("SELECT id,title,description, date, author, mini_img, view FROM data WHERE MATCH(text) AGAINST('$search')",$db);
похоже на строку поиска из видеурока Е.Попова по созданию поиска по блогу
0
0 / 0 / 0
Регистрация: 08.11.2009
Сообщений: 26
14.11.2009, 20:13  [ТС]
Да, я учусь по відеоуроках Попова. Вы тоже, tyz, их проходили?
0
 Аватар для tyz
356 / 315 / 48
Регистрация: 21.04.2009
Сообщений: 574
15.11.2009, 16:57
Цитата Сообщение от Tol82 Посмотреть сообщение
Вы тоже, tyz, их проходили?
кое гдэ находил отвельные видеоуроки, их и смотрел, а что касаеться создания блога, так в нем Евгений не все проработал, есть например лазейки, как пройти в закрытый раздел без ввода пароля ....... и еще много.
Tol82, если хочеш сделать удалена ссылка используя "исходники" Попова, переделывай их!!!
0
Программист
 Аватар для motakuji
107 / 111 / 9
Регистрация: 27.09.2009
Сообщений: 331
15.11.2009, 22:36
Цитата Сообщение от MaskiLov Посмотреть сообщение
Ну, и, конечно же, если объемы солидные - делайте таблицу с индексами слов и отдельную - уже с индексом самого текста.
а как это реализовать?
0
DevilChe
21.11.2009, 22:14
поиск по базе MySQL? если да, то простой поиск сделать очень просто

делаешь форму, юзер вводит туда слово для поиска. Составляешь запрос обычный (можно использовать LIKE, лучше искать будет) и выводишь результат/ вот полезный удалена ссылка

PHP
1
$sql = "SELECT [нужные_поля] FROM [таблица] WHERE [поле_для_поиска] LIKE '[что ищем]'";
В LIKE:
% - соответствует любому количеству символов, даже их отсутствию
_ - соответствует ровно одному символу

Предупреждение: Сравниваемые значения не зависят от регистра. Чтобы явно указать, что мы хотим регистрозависимый результат, нужно указать ключевое слово BINARY

Для примера у нас есть таблица новостей, и мы хотим в тексте найти вхождение фразы:
PHP
1
2
$sql = "SELECT * FROM news WHERE text LIKE '%мой текст%'"; // нечеткое вхождение фразы "мой текст"
$sql = "SELECT * FROM news WHERE text LIKE 'мой текст'"; // четкое вхождение фразы "мой текст"
 Аватар для Ceran
172 / 101 / 10
Регистрация: 22.02.2009
Сообщений: 440
22.11.2009, 00:50
Со всем сказанным согласен, но поиск - это очень не просто... Попробую объяснить почему, дабы автор не обольщался простотой SQL-запросов. Допустим есть каталог книг. Среди пары сотен, а может тысяч, есть книга, например, "Теория и технология программирования", а теперь представим, что пользователь допустил одну опечатку, когда набирал текст "Теория и тихнология программирования", или любую другую. И что он найдёт, если используется SQL-функция LIKE в том, виде, в котором она представлена выше? Ответ очевиден - ничего, ибо не произойдёт ТОЧНОГО совпадения. Так вот, дабы такого не происходило, тут нужно писать фактически задатки искусственного интеллекта. То есть, если запрос многословный, то нужно искать наличие каждого слова (включая однокоренные, то есть, в случае общения с машиной (компьютером), наличие в слове 2,3,4 и т.д (не более, чем в искомом слове) букв следующих друг за другом в искомом порядке) и так по каждому из слов, затем слова похожие на написанные (первая и последняя буква в слове (этот момент можно усложнять увеличивая количество символов с начала и конца к середине), а между ними "что угодно" - %), затем различные сочетания слов. Затем всё это обработать и только после этого выводить какой-то результат поиска. Только в этом случае получится более-менее вменяемый поиск. ИМХО. Сам на этом обжёгся. Удачи в этом не простом начинании. Так что одним LIKE тут не обойдёшься, если хочешь получить на самом деле нормальный качественный результат. А с полями таблицы, я думаю разберёшься, если немного подумаешь.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2009, 00:50
Помогаю со студенческими работами здесь

Поиск по сайту
Доброй ночи! При создании сайта столкнулся с проблемой. Подскажите, как сделать поиск по сайту? Имееться БД MySQL. Находил не мало...

Поиск по сайту
Здрасте всем! Сделал сайт, сделал на нем форму поиска...А как сделать так, чтобы эта форма поиска работала(но только по самому...

Поиск по сайту
Доброе время суток Уважаемые форумчане! я тут решил сделать поиск по сайту и наткнулся на маленькую проблему, сам поиск работает, но к...

Поиск по сайту
<?php require_once 'config.php'; session_start(); if( isset($_POST) ){ $search = mysql_real_escape_string($_POST); ...

Поиск по сайту
Добрый вечер, подскажите пожалуйста, сегодня пытаюсь весь вечер разобраться. Делал поиск по сайту, запрос вроде правильно сделал, а вывод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru