Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
Здраствуйте подскажите пожалуста что не так. Вообщем
у меня есть масив сданными $eryy, и поисковое слово которое надо найти через форму тоесть $_POST['search'], далее найденное слово в масиве $eryy, функцией array_keys должна записать ключ в переменную $search, потом в зависимости от найденных слов мы должны вывести на экран все найденные данные по ключам $search,
Вот чего нтак почему не работает подскажите пожалуйста как правильно.
ALEN
Отправлено: 28 Ноября, 2010 - 16:20:51
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Советую для своего поисковичка использовать MySQl - проще и функциональней, а в настоящее время поисковые системы на файлах совсем не актуальны.
strengerst
Отправлено: 28 Ноября, 2010 - 16:48:54
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
ALEN пишет:
Советую для своего поисковичка использовать MySQl - проще и функциональней, а в настоящее время поисковые системы на файлах совсем не актуальны.
Да все так только все эти данные заннесены из MySQL в массив $erry, вот поэтому я и ищу через массив.
Так как чере MySQL запрос ищет только одно слова или одно предложение, а если два разных слова то уже не найдет а в массиве должно найти.
OrmaJever
Отправлено: 28 Ноября, 2010 - 17:10:01
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
strengerst
Отправлено: 28 Ноября, 2010 - 17:30:20
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
Я с этой функцией знаком но она мне не подходит так как вот
**
Если needle присутствует в haystack более одного раза, будет возвращён первый найденный ключ. Для того, чтобы возвратить ключи для всех найденных значений, используйте функцию array_keys() с необязательным параметром search_value.**
Выписка из определение.
А насщет оформление понимаю что у меня все сложно. В дальнейшем постораюсь упростить. (Добавление)
Я с этой функцией знаком но она мне не подходит так как вот
**
Если needle присутствует в haystack более одного раза, будет возвращён первый найденный ключ. Для того, чтобы возвратить ключи для всех найденных значений, используйте функцию array_keys() с необязательным параметром search_value.**
Выписка из определение.
А насщет оформление понимаю что у меня все сложно. В дальнейшем постораюсь упростить.
OrmaJever
Отправлено: 28 Ноября, 2010 - 17:34:00
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
но я тогда не понял почему нельзя проводить поиск ещё в бд через where хотябы ?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
strengerst
Отправлено: 28 Ноября, 2010 - 17:50:47
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
OrmaJever пишет:
но я тогда не понял почему нельзя проводить поиск ещё в бд через where хотябы ?
но понимаете когда человек ищет информацию он набирает в поисковике несколько ключевых слов. типа (картинки , скачать) вот если через базу данных тогда результат будет нулевым так как MySQL посчитает это одним предложением и такового как бы не найдет. Только если слова будут искаться по отдельности сначала картинки и только в следующем запросе еще и скачать. А через массив выведеться весть контекст в которм присутствуют и слова картини и слова скачать как по раздельности так и совместно.
Или я не прав.
OrmaJever
Отправлено: 28 Ноября, 2010 - 18:06:36
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Ну как я понял весь контент в котором нужно искать должен лежать в одной колонке? например с название content.
Искать можно в сразу в цыкле.
да и вобще искат ьможно по разному. Смотря как вы хотите искать.
Ну и как мне это все провернуть, у меня все данные в массиве $eryy, и даже если там найдуться указанные слова мне нужно знать к какому ключу в массиве принадлежит найденное слова, что бы через этот ключ вывести весь контент в котором присутствует искомое слово. А остальные контенты не выводить. (Добавление)
Давай те поступи м по другому может кто знает тогда напишите как через MySQL вывести не одну строку где встречаеться искомое слово а все строки где встречають искомые слова. Тоесть когда пользователь вводит два ключевых слова пусть через пробел в поисковой строке, и эти два слова находяться в разных столбцах. Что бы MySQL запрос показал сразу эти две строки а остальные не трогал.
ALEN
Отправлено: 28 Ноября, 2010 - 18:43:21
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
strengerst
Ну вот приехали к незнанию SQL и PHP , а не к тому, что выход - поиск в массиве. Учим: select where like и т.д.
strengerst
Отправлено: 28 Ноября, 2010 - 18:51:35
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
ALEN пишет:
strengerst
Ну вот приехали к незнанию SQL и PHP , а не к тому, что выход - поиск в массиве. Учим: select where like и т.д.
Да знаю я что такое select where like и как сними работать знаю и MaYSQL знаю, ну я еще раз повторяю поисковик будет работать только в том случаи если в поисковой строке
будет веденно одно слова, или предложение которое есть в базе данных, а два разных ключевых слова которые находяться в разных строках MaYSQL не покажит потому как
приймет эти ключевые слова за предложение.
И я об этом уже писал, читайте внимательнее. (Добавление)
А через массив это было бы в полне выполнимо. Но вот не выходит по моему коду.
ALEN
Отправлено: 28 Ноября, 2010 - 18:55:47
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
strengerst
Вот еще раз подтверждаете свое незнания php и sql .
LIKE '%vasay%' - такого видимо точно не знаете, а еще конструкции по типу or и and - учите мат часть и все выйдет, не изобретайте велосипед, ваша задача в нескольких строках и на выводе получите уже готовый массив с данными.
OrmaJever
Отправлено: 28 Ноября, 2010 - 18:59:49
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
да ALEN прав. язык sql имеет много всего интересного! strengerst вы думаете поиск на крупных сайта так же через масив делают?))
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
strengerst
Отправлено: 28 Ноября, 2010 - 19:06:25
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
OrmaJever пишет:
да ALEN прав. язык sql имеет много всего интересного! strengerst вы думаете поиск на крупных сайта так же через масив делают?))
Но покрайне мере он позволет выполнение данной задачи, даже на этом сайте. (Добавление)
ALEN пишет:
strengerst
Вот еще раз подтверждаете свое незнания php и sql .
LIKE '%vasay%' - такого видимо точно не знаете, а еще конструкции по типу or и and - учите мат часть и все выйдет, не изобретайте велосипед, ваша задача в нескольких строках и на выводе получите уже готовый массив с данными.
Вы мне не отрыли не чего нового таким способом находиться лишь одно солво или предложение, а не два разных ключевых слова, в одной строке. (Добавление)
ALEN пишет:
strengerst
Вот еще раз подтверждаете свое незнания php и sql .
LIKE '%vasay%' - такого видимо точно не знаете, а еще конструкции по типу or и and - учите мат часть и все выйдет, не изобретайте велосипед, ваша задача в нескольких строках и на выводе получите уже готовый массив с данными.
Вы мне не отрыли не чего нового таким способом находиться лишь одно слово или предложение, а не два разных ключевых слова, в одной строке. (Добавление)
Ну вот хотя бы взять поисковичок на это сайте, он находит все ключевые слова но я понимая так
"SELECT * FROM `FORUM` WHERE `comment` LIKE '%искомое слово%'";
Пусть заместо искомого слова там будет стоять $_POST['poisk']; НО как зделать как на этом сайте что бы выдовала все строки с коментариями в которых есть ключевые слова
тоесть ане одно или предложение. тоесть типа "php" "java" что бы выдала все строки с
слова java и строки со словами php.
Обьясните пожалуйста.
OrmaJever
Отправлено: 28 Ноября, 2010 - 19:27:02
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.