Пример за изпълнение. Търсене на живо в Bitrix. Пример за внедряване Изискване на мъжки елемент за търсене php i
В днешния урок ще разгледаме php mysql търсене. Има много скриптове за търсене, някои използват база данни, други без нея, има разширени търсения с точно сортиране. Ще се съсредоточим върху обикновеното просто търсене, което търси информация за две таблици от базата данни MySQL.
Първа стъпка. MySQL база данни.
Създаване на база данни search_lite, има две маси Новини- новини и вак- свободни работни места.
Задайте привилегии:
Влизам - " корен",
Парола - "",
Домакин - " локален хост".
Изхвърляне на новинарската маса.
Структура на таблица за таблица `news` -- СЪЗДАВАНЕ НА ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `news` (`id` int(2) NOT NULL, `title` varchar(255) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id `)) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Самосвална маса - свободни работни места.
Структура на таблица за таблица `vac` -- СЪЗДАВАНЕ НА ТАБЛИЦА, АКО НЕ СЪЩЕСТВУВА `vac` (`id` int(2) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `text` text NOT NULL, PRIMARY KEY (` id`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
Втора стъпка. HTML и PHP.
Свързваме се с базата данни. Задайте условие за променлива $търсене, в която заявката за търсене не е въведена или е по-малка от 4 знака, а също така проверете за наклонени черти и изрежете променливата. Създаваме две заявки, които търсят в базата данни две таблици Новинии вакпо условие за търсене на поле текст. (Вече можете да изберете колко маси трябва да търсите. Например ще имате маси Уроци, материали, статиии т.н. Можете също така да промените условията за търсене, вместо полето текст, можете да изберете полето заглавиеили друго поле.) След това посочваме колко знака в текста при показване на търсенето в променливата $символи.Ако в таблиците Новинии вакНищо не беше намерено при търсенето, показваме съобщение. Ако бъдат намерени, изведете данни от две таблици Новинии вакза дадената заявка за търсене.
$db = mysql_connect ("localhost", "root", ""); mysql_select_db ("search_lite", $db); if (!$db) echo mysql_error(); if(isset($search)) { if(empty($search) OR strlen($search) < 4) { echo "
"; ехо "
";) else ( echo "
"; $search = htmlspecialchars(stripslashes(trim($search))); $sql_news = mysql_query("SELECT id, title, text FROM news WHERE текст КАТО "%$search%""); $news = mysql_num_rows($sql_news ); $sql_vac = mysql_query("SELECT id, title, text FROM vac WHERE текст КАТО "%$search%""); $vac = mysql_num_rows($sql_vac); $find = $search; $symbolls = "80"; ако ($news==0 и $vac==0) ехо "
"; else ( /*Новини/новини - таблица*/ for($i=1; $news = mysql_fetch_array($sql_news); $i++) ( $search_text = $news["text"]; $search_text = strip_tags($ search_text, "
"); $search_txt_length = strlen($search_text); $search_first_enter = strpos(strtolower($search_text), strtolower($find)); $pad_left = $search_first_enter - $symbolls; $pad_right = $search_first_enter + $symbolls + 5; ако ($pad_right><0) $pad_left = "0"; $search_text = substr($search_text, $pad_left, $pad_right); $search_text = str_replace (strtolower($find), "".strtolower($find)."
$i. $новини
|
...$търсен_текст...
намерени в новините |
"; ) /*Jobs/vac - таблица*/ for($i=1; $vac = mysql_fetch_array($sql_vac); $i++) ( $search_text = $vac["text"]; $search_text = strip_tags($search_text , "
"); $search_txt_length = strlen($search_text); $search_first_enter = strpos(strtolower($search_text), strtolower($find)); $pad_left = $search_first_enter - $symbolls; $pad_right = $search_first_enter + $symbolls + 5; if ($pad_right>$search_txt_length) $pad_right = $search_txt_length; if ($pad_left<0) $pad_left = "0"; $search_text = substr($search_text, $pad_left, $pad_right); $search_text = str_replace (strtolower($find), "".strtolower($find)."", strtolower($search_text)); ехо"
$i. $vac
|
...$търсен_текст...
намерени в свободни работни места |
"; } } } } ?>
Трета стъпка. CSS.
Нека напишем някои стилове, които ще оформят нашето търсене.
Search_name ( цвят: черен; размер на шрифта: 18px; ) .search_questions ( цвят: черен; тегло на шрифта: удебелен; размер на шрифта: 15px; ) .search_query ( цвят: син; стил на шрифта: курсив; ) .search_error ( цвят: червен; размер на шрифта: 15px;) .search_input (рамка: 1px плътно черно; ширина: 500px; височина: 30px;) .search_word (цвят: син;) .search_title (размер на шрифта: 20px; цвят: син; тегло на шрифта: удебелен;) .search_text (размер на шрифта: 15px; цвят: черен;) .search_cat (размер на шрифта: 12px; цвят: сив; плаващ: надясно; margin-top: 20px;)
Разгледахме с вас един прост php mysql търсене A, който търси информация от база данни. По условие се използват две маси, можете да ги персонализирате по всеки удобен начин. Следващият урок ще бъде посветен на аналогията с просто търсене, само с разширени функции.
11,1KЕдна от най-популярните и необходими функции на всеки сайт е търсенето, реализирано с помощта на специална форма. Тази функционалност позволява на посетителите бързо да намират съдържанието, което ги интересува в сайта.
Днес искаме да ви кажем как да търсите в сайта с помощта на специална форма, която ще прави заявки в таблиците на базата данни и ще показва информация за текущите мениджъри на сайта. Ще научите как да създадете таблица с база данни, която ще съдържа информация за текущия персонал.
Разработете формуляри за търсене с PHP и се запознайте с SQL ( език за структурирани заявки) е специален език за събиране, записване и модифициране на информация, съдържаща се в бази данни. Преди да започнете, ви препоръчваме изтегляне на файлове на проекта.
Какво ще ви трябва
- MySQL инструмент за бази данни.
- Локален или отдалечен сървър с поддръжка на PHP.
- Текстов редактор.
Създаване на база данни
Ако не сте напълно сигурни, че можете да се справите с базата данни на вашия хостинг, тогава се свържете с хоста за инструкции или помощ. След като базата данни е създадена, ще трябва да я свържете, да създадете таблица и да запишете необходимите данни в нея.
Най-популярният инструмент за управление на MySQL е PHP My Admin , Този инструмент ще бъде достатъчен за нашето днешно ръководство.
Създайте таблица
Нашата таблица трябва да бъде създадена в следния формат:
име на колона | тип данни | Дължина | Null или Not Null | първичен ключ? | Автоматично увеличаване |
документ за самоличност | ИНТР | 1 | Не е нула | да | да |
Първо име | Варчар | 50 | Не е нула | не | не |
фамилия | Варчар | 50 | Не е нула | не | не |
електронна поща | Варчар | 50 | Не е нула | не | не |
Телефонен номер | Варчар | 15 | Не е нула | не | не |
Таблицата на базата данни се състои от колони и редове, точно както в Excel. Първата колона ви позволява да идентифицирате данните по име. Следва колоната Типове данни (тип данни), която ни показва типа на данните, съдържащи се в колоната. В полето Length (Дължина) се посочва максималното количество памет ( съхранение) за колона на таблица. Ние използваме променливи, които дават повече гъвкавост. С други думи, ако дължината на пълното име е по-малко от 50 знака, тогава само част от определеното място ще бъде заето.
И сред данните за персонала не може да има празни стойности ( нулев, празен). Първият ред е маркиран в жълто, защото колоната ID е основният ни ключ. Първичният ключ в базата данни гарантира, че всеки запис ще бъде уникален. Тази колона също се увеличава автоматично, което означава, че на всеки запис в нашата база данни автоматично ще бъде присвоен уникален номер.
В таблицата въвеждаме представители на персонала
След като разберете таблицата, започнете да я попълвате с данни. 6 записа са достатъчни, за да фиксирате процедурата в ума. Ето моят собствен пример:
ИД на колона | Първо име | фамилия | електронна поща | Телефонен номер |
2 | Райън | Иконом | [имейл защитен] | 417-854-8547 |
3 | Брент | Калахан | [имейл защитен] | 417-854-6587 |
Развитие на формата
За да създадете формуляр за търсене в сайта чрез Google, отворете всеки подходящ текстов редактор. Препоръчвам да използвате безплатния PSPad. Можете да използвате всеки текстов редактор, който има подчертаване на синтаксиса. Това значително ще улесни процеса на писане и отстраняване на грешки в PHP код. Когато създавате страница за формуляр за търсене, не забравяйте да я запазите във формат .php, в противен случай PHP кодът няма да се анализира правилно. След като запишете документа, копирайте следното маркиране в него:
Подробно търсене на контакти
Можете да търсите по име или фамилия
Ако сте запознати с езика HTML, то всичко трябва да ви е ясно поне до отварящия таг за форма. Вътре в този таг е най-важният елемент от целия код - атрибутът за действие. Като действие на нашия формуляр ние посочихме името на нашия файл и след това приложихме низа на заявката „ отивам”.
Проверка на критериите
Когато потребителят въведе собствено или фамилно име и след това щракне върху бутона за изпращане, формулярът изпраща данните към себе си и добавя низа на заявката „ отивам". В този момент проверяваме за наличието на низа за заявка go. Ако резултатът е положителен, показваме резултатите от търсенето.
Преди да покажем исканите резултати, трябва да проверим отново: (1) изпратен ли е формулярът, (2) низът на заявката съдържа ли стойността go, (3) въведен ли е терминът за търсене с малки или главни букви? Ако нито една от проверките не даде положителен резултат ( вярно), не сме длъжни да предприемаме никакви действия.
Първо, нека добавим малък блок PHP код за търсене в сайта след затварящия таг.: