Kwert-soft.ru

IT Софт для ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php поиск в базе данных

поиск в базе данных на php

04.05.2011, 14:54

Поиск по базе данных PHP
Написана страница клиентов, нужен поиск по номеру машины, как его организовать не знаю. Помогите.

Php + postgresql поиск по базе данных
Народ ну подскажите плиз, ни как не могу понять как допилить. Что нужно: 1. Есть большая база.

КАК сделать поиск пополю с базе данных на PHP.
помогите кто-нибудь сделать поиск по полю в базе данных. есть готовая. только поиск пополю не.

Доступ к базе данных на базе хранимых процедур MySQL из php
Добрый день возник вопрос по доступ к базе данных на базе хранимых процедур MySQL из php Из файла.

04.05.2011, 17:29204.05.2011, 17:45 [ТС]304.05.2011, 17:584

форма которая методом post будет отправлять из нашего текстового поля ФИО через переменную $fio скрипт(script.php), который уже и будет искать в базе.

————————
не забываем про Отзыв +1, если помог =)

HTML5
04.05.2011, 18:23 [ТС]5

action=»script.php». скрипт . пхп. это имя основного файла пхп в моей программе.
у меня главный файл называется f.php. значит вместо script.php надо будит написать f.php.

я хочу чтоб у меня на главной форме программы было поле для ввода параметров поиска. значит мне можно ваш код хтмл просто добавить в тот файл в котором прописан интерфейс этой главной формы??

04.05.2011, 18:496

да, заменить на f.php, но в это файле надо будет заменить переменную $fio, где содержиться ФИО на $_POST[‘fio’], либо в начале скрипта просто приравнять $fio = $_POST[‘fio’]

да можно, но желательно видеть что за код в этом файле находиться.

04.05.2011, 19:02 [ТС]7

всё так запутанно. (((. вы не могли бы мне туда всё вписать, если бы я вам скинула свою базу данных?

Добавлено через 7 минут
вот тот т п л файл

04.05.2011, 19:218
04.05.2011, 20:01 [ТС]9

ну н езнаю..просто мне всё непонятно..а помочь некому((

Добавлено через 20 минут
пишет такую ошибку Parse error: syntax error, unexpected T_VARIABLE в строке
$query5 = («SELECT )»);
подскажите что тут неправильно написанно.

04.05.2011, 20:2710
04.05.2011, 21:25 [ТС]11

в итоге я написала вот так $query5 = mysql_query(«SELECT ,$dbl);
//$q5 = mysql_query($query);
$result = mysql_fetch_array($q);
echo «$f[‘fio_z’] $f[‘date’] $f[‘adres’]»;
но ругается на эту строчку :echo «$f[‘fio_z’] $f[‘date’] $f[‘adres’]»;. что-то тут не так.
а кстате на главной форме не отброжается никакого поля. только кнопка отправить. ((

Добавлено через 5 минут
и кстате ругается на эту первую строчку $fio_r = $_POST[‘fio_r’]
значит может и взапросе надо писать не
WHERE fio_r='».$fio_r.»‘;»,$dbl); а $_POST[‘fio_r’]
и тут неправильно:
//echo «$f[‘fio_z’] $f[‘date’] $f[‘adres’]»; блин ваще нифига непонятно..всё нихочет работать((((((((((((

04.05.2011, 21:3112
HTML5
HTML5
HTML5
HTML5
04.05.2011, 21:41 [ТС]13

в итоге я написала вот так:
<
$fio_r = $_POST[«fio_r»];
$query5 = mysql_query(«SELECT ,$dbl);
$result = mysql_fetch_array($q5); -> на эту строчечку ругается, бд выводится но вверху пишется ошибочка ( Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource)
я не знаю ещё что писать в echo. мне нужно что б выводился вот этот запрос..так как при нажатии на найденую фамилию должны выводится другие данные со второй формы..и это происходит в этом запросе:
$query = getSQLrow(«SELECT id, fio_r, fio_z,DATE(data), adres FROM spisok $query5 ORDER BY fio_r ASC»);
$smarty->assign(«spisokdeti»,$query);
> вот я и думаю как же мне echo записать правильно?((

Добавлено через 2 минуты
в хтмл коде у меня тоже уже фио_р

так что пусть может так и остаётся?

Добавлено через 2 минуты
в самом запросе WHERE fio_r='».$fio_r.»‘;»,$dbl); . может там надо где уже переменную $_POST[«fio_r»]; писать. или нет. не знаю кароче. при нажатии на кнопку отправить ничего не срабатывает!

Поиск по контенту сайта php примеры

Поиск по сайту, поиск по файлам и вообще будем искать на сайте. Давно хотел сделать такую тему, как поиски внутри сайта, внутри файлов. В общем сделать рабочий скрипт поиска по сайту.

В самом начале давайте разберемся, где будем искать. Будем искать не только в файлах, но и сделаем поиск по базе данных.

Поиск по сайту php

  1. Алгоритм поиска по сайту
  2. Поиск по контенту сайта -> база данных
  3. Поиск по контенту сайта -> файлы ->DW — search 1.2
  4. Скрипт в сборе поиск по сайту
  5. Рабочий вариант скрипта поиска по сайту по файлам пример
  6. Поиск по контенту сайта -> файлы вариант 2
  7. Скачать можно здесь

    Алгоритм поиска по сайту

    Поиск по контенту сайта -> база данных

    Нам понадобится столбец, в котором записан контент страницы в базе данных, применяем поиск к строке отвечающей за контент -> substr_count

    $row[«ID»] — это как пример, если требуется ссылка. то нужен столбец отвечающий за ссылку

    if(@substr_count($row[«столбец отвечающий за контент»], $poisk) and $poisk)

    $result = «найдено в контенте страницы» . $row[«ID»];];

    Для отправки запроса вам понадобится форма отправки:

    Поиск по контенту сайта -> файлы DW — search 1.2

    Если мы говорим о поиске по контенту на сайте, который сделан на файлах, то первое с чем мы сталкиваемся, против базы данных, как получить все ссылки на все файлы!?

    Другими словами, где у вас есть все ссылки вашего сайта!? Может в карте sitemap.XML — нам нужно извлечь все ссылки из данного файла, а потом в цикле проверить наличие искомого слова.
    Да! И функцию my_strtolower можете заменить на обычную strtolower(если она у вас работает)
    Теперь не нужно вставлять домен, он будет автоматически передаваться в переменную!

    + Получим в переменную $poisk от правленный поисковый запрос.

    + все буквы приведем к нижнему регистру my_strtolower

    $poisk = my_strtolower( $poisk );

    Теперь весь контент страницы полученный в цикле через file_get_contents переведем в нижний регистр — my_strtolower и внутри получим путь на сревре заменив домен на $home

    Далее собственно поиск искомого слова в контенте substr_count

    + если что-то найдено, то создаем счетчик +1($line_count)

    + заносим в переменную $rezult адрес страницы, где это было найдено.

    $new = my_strtolower( file_get_contents( str_replace( $domen , $home , $ALL_PAGES[$i]) ) );

    if (substr_count($new, $poisk))

    Далее особо ничего интересного. форма + вывод полученных данных.

    Скрипт DW — search 1.2 в сборе поиск по сайту

    Живой пример поиска DW — search 1.2

    Теперь мы создадим страницу и туда поместим выше приведенный скрипт поиска по сайту:

    Поиск по контенту сайта -> файлы вариант 2

    Второй вариант поиска, как реализован выше приведенный скрипт поиска по сайту по файлам. У нас есть база данных на файлах, новая строка — краткая информация о странице.

    Если вывести все ссылки из этой базы, то мы получим : все ссылки — это мы применяли, как пример поиска по заголовкам .

    И собственно, где мы получали внутри цикла данные из адреса(file_get_contents) — здесь получаем абсолютно аналогично! Единственно, что в этой же строке мы имеем заголовок страницы.

    Именно этот поиск вы сможете протестировать, нажав кнопку лупы сверху сайта в меню справа.

Вас может еще заинтересовать список тем : #PHP | #PHP_FUNCTION | #SEARCH |

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…)

Поиск по контенту сайта php примеры

Поиск по сайту, поиск по файлам и вообще будем искать на сайте. Давно хотел сделать такую тему, как поиски внутри сайта, внутри файлов. В общем сделать рабочий скрипт поиска по сайту.

В самом начале давайте разберемся, где будем искать. Будем искать не только в файлах, но и сделаем поиск по базе данных.

Поиск по сайту php

  1. Алгоритм поиска по сайту
  2. Поиск по контенту сайта -> база данных
  3. Поиск по контенту сайта -> файлы ->DW — search 1.2
  4. Скрипт в сборе поиск по сайту
  5. Рабочий вариант скрипта поиска по сайту по файлам пример
  6. Поиск по контенту сайта -> файлы вариант 2
  7. Скачать можно здесь

    Алгоритм поиска по сайту

    Поиск по контенту сайта -> база данных

    Нам понадобится столбец, в котором записан контент страницы в базе данных, применяем поиск к строке отвечающей за контент -> substr_count

    $row[«ID»] — это как пример, если требуется ссылка. то нужен столбец отвечающий за ссылку

    if(@substr_count($row[«столбец отвечающий за контент»], $poisk) and $poisk)

    $result = «найдено в контенте страницы» . $row[«ID»];];

    Для отправки запроса вам понадобится форма отправки:

    Поиск по контенту сайта -> файлы DW — search 1.2

    Если мы говорим о поиске по контенту на сайте, который сделан на файлах, то первое с чем мы сталкиваемся, против базы данных, как получить все ссылки на все файлы!?

    Другими словами, где у вас есть все ссылки вашего сайта!? Может в карте sitemap.XML — нам нужно извлечь все ссылки из данного файла, а потом в цикле проверить наличие искомого слова.
    Да! И функцию my_strtolower можете заменить на обычную strtolower(если она у вас работает)
    Теперь не нужно вставлять домен, он будет автоматически передаваться в переменную!

    + Получим в переменную $poisk от правленный поисковый запрос.

    + все буквы приведем к нижнему регистру my_strtolower

    $poisk = my_strtolower( $poisk );

    Теперь весь контент страницы полученный в цикле через file_get_contents переведем в нижний регистр — my_strtolower и внутри получим путь на сревре заменив домен на $home

    Далее собственно поиск искомого слова в контенте substr_count

    + если что-то найдено, то создаем счетчик +1($line_count)

    + заносим в переменную $rezult адрес страницы, где это было найдено.

    $new = my_strtolower( file_get_contents( str_replace( $domen , $home , $ALL_PAGES[$i]) ) );

    if (substr_count($new, $poisk))

    Далее особо ничего интересного. форма + вывод полученных данных.

    Скрипт DW — search 1.2 в сборе поиск по сайту

    Живой пример поиска DW — search 1.2

    Теперь мы создадим страницу и туда поместим выше приведенный скрипт поиска по сайту:

    Поиск по контенту сайта -> файлы вариант 2

    Второй вариант поиска, как реализован выше приведенный скрипт поиска по сайту по файлам. У нас есть база данных на файлах, новая строка — краткая информация о странице.

    Если вывести все ссылки из этой базы, то мы получим : все ссылки — это мы применяли, как пример поиска по заголовкам .

    И собственно, где мы получали внутри цикла данные из адреса(file_get_contents) — здесь получаем абсолютно аналогично! Единственно, что в этой же строке мы имеем заголовок страницы.

    Именно этот поиск вы сможете протестировать, нажав кнопку лупы сверху сайта в меню справа.

Вас может еще заинтересовать список тем : #PHP | #PHP_FUNCTION | #SEARCH |

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…)

Реализация поиска на сайте через PHP

У меня уже несколько раз просили написать статью о том, как реализовать поиск на сайте через PHP. Задача это непростая, я бы даже сказал — очень непростая, поскольку здесь имеется огромное количество нюансов и препятствий. В этой статье я разберу алгоритм поиска на сайте.

Давайте предположим, что на нашем сайте имеется множество различных материалов (статей, новостей, заметок и прочего). Всё это добро находится в базе данных. И наша задача — реализовать поиск на сайте. Простейший алгоритм следующий:

  1. Создать HTML-форму со строкой поиска, а также кнопкой «Submit«. В текстовое поле пользователи будут вводить поисковый запрос, а далее нажимать на кнопку.
  2. Получить поисковый запрос (как правило, передаваемый методом GET, но иногда применяют и POST), а также, в целях защиты от XSS, пропустить его через функцию htmlspecialchars().
  3. Сделать выборку из соответствующих таблицы (со статьями, новостями, заметками и прочим) тех записей, в которых содержится поисковый запрос. Показываю примерный SQL-запрос для таких случаев: SELECT * FROM articles WHERE `text_article` LIKE %search% Соответственно, вместо search подставляется строка поиска.
  4. Получив записи, в нужном виде выводим их, желательно, по релевантности. Я, например, сделал у себя на сайте так: где больше всего совпадений — та статья и релевантнее, следовательно, ставлю её первой. Скорее всего, Вам этот способ оценки релевантности тоже подойдёт.

Многие из Вас скажут, что ничего сложного здесь нет. И будут отчасти правы, однако, давайте разберём такой пример строки поиска: «ищу этот текст«. Встаёт вопрос: «А что, собственно, ищется?«. То ли ищется точное вхождение текста «ищу этот текст«. Или, быть может, ищется текст, где присутствуют все три слова, но которые могут следовать далеко не друг за другом. Или, возможно, ищется текст, где присутствует хотя бы одно из этих слов.

И вот здесь задача значительно усложняется. Можно сделать сложную систему синтаксиса (как в поисковых системах), например, ищется точное вхождение, если запрос задан в кавычках. А можно давать выбор пользователям, как именно они хотят проводить поиск (с помощью radio-кнопок). Таким образом, сделано у меня на сайте. Поэтому в предыдущий алгоритм добавляется ещё один пункт: составление SQL-запрос. Вот пример SQL-запроса, когда нужно вытащить все материалы, в которых имеется хотя бы одно слово из запроса «ищу этот текст«:

SELECT * FROM articles WHERE (`text_article` LIKE «%ищу%» OR `text_article` LIKE «%этот%» OR `text_article` LIKE «%текст%»)

Соответственно, в скрипте поиска Вы должны генерировать подобные SQL-запросы, посылать к базе данных, получать ответ и выводить его. Это всё ещё больше усложняется, если Вы выводите записи по релевантности, так как трудно сразу сказать, что должно быть релевантнее: 3 точных вхождения запроса, либо 10 вхождений частей запроса. У меня на сайте предпочтение всегда отдаётся точным вхожденияи, но этот момент уже достаточно спорен. Безусловно, это сложно, и если это Вы делаете в первый раз, то несколько часов Вы точно потратите. Надеюсь, что мой алгоритм реализации поиска на сайте через PHP Вам поможет.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 56 ):

    Михаил а вместо text_article Что ставить? Это адрес столбца? И как потом выводить данные правильно, а то я уже много способов перепробовал, не могу сделать так как нужно.

    text_article — это поле, в котором содержится полный текст материала, по которому и ведётся поиск. Выводить надо через SQL-запросы, а, получив result_set, разобрать его на одномерные массивы, элементы которого выводятся уже через echo.

    Михаил а вот если поиск реализуется по таблице users и ищет он только например по колонке name а если человек начинает вводить и фамилию то поиск ступорится и все найти ничего естесственно не может, сейчас у меня завпрос такой : («SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_get>%'»); Пробую сделать вроде бы понятно и логично вот так : («SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_get>%’ AND `familia` LIKE ‘%<$user_get>%'»); Все ровно не хочет искать=((( ЧТо делаю не так Михаил?!

    А зачем фигурные скобки здесь: <$user_get>? Попробуйте так: LIKE ‘%$user_get%’

    Так разницы то нет, разве что в скорости выполнения, а вот не могу понять как обьеденить в поисковом запросе 2 колонки familia и name — вопрос=) Я не могу, что не так сделал?!

    Ваш запрос какой-то не логичный. Как может у человека совпадать имя И фамилия? Поэтому могу предположить, что надо вместо AND поставить OR.

    Хорошо а вот если пользователь будет вводить в строке поиска и имя и фамилию?! Как тогда ?!

    Тогда не будет и там, и там $user_get. А, во-вторых, Вам надо будет решать, как обрабатывать данные, то ли выводить те записи, где совпало и имя, и фамилия (AND), то ли, где хотя бы одно совпадение (OR). Либо (как у меня в поиске) право выбора: совпадение «и там, и там», либо «там или там».

    А как тогда формировать запрос на совпадения и имени и фамилии?! Подскажите пожалуйста! Я впервые пишу поисковое ядро по 2м калонкам=( ПРи том что это все обрабатывается на аяксе без перезагрузке страницы=)

    Вы уже писали его, там где AND, только вместо $user_get должно быть что-то другое, в первом случае, имя, а в другом — фамилия.

    так в этом случае будет 2 строки поиска ведь?! А мне нужно чтоб все данные писались в одну поисковую строку!

    «SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_name>%’ AND `familia` LIKE ‘%<$user_surname>%'» — где здесь 2 строки?

    ДА нет это то я сделал, а вот в самом поле ввода как оно должно распознаватся куда отнести это слово а куда это? К какому столбцу к имени или к фамилии?! у меня идет так xmlhttp.open(«GET», «getuser.php?name=» + str, true); xmlhttp.send(); за str берется 0е значение

    Значит, нужно добавить ещё одно поле, чтобы не только name=, но и &surname=

    Тогда как это реализованно например в том же контакте все в одной строке?!

    В одной строке, но с несколькими GET. /?a=5&b=7&c=10 — целых 3 параметра, и все в одной строке.

    ТАк все плывет бошка=) Спасибо вам! На сегодня думаю хватит работы=)

    Читать еще:  Php p skulle gerne loan
    Ссылка на основную публикацию
    Adblock
    detector