Създаване на сайт с Dreamweaver MX 2004, PHP и MySQL, Урок 3.3
Посетителите на Вашия blog, би трябвало да имат възможността, да откриват точната информация която търсят, бързо и лесно. Разбира се, откриването на специфична статия във blog със 10 публикации е лесно, но помислете за бъдещето: какво ще стане след година, когато Вашия blog се затрупа от стотици публикации? Опита за откриване на желания материал, ще прилича на откриването на златна мина.


Създаване на семпла търсачка

Ето защо, ще построим: семпла търсеща форма; скрипт за търсене, преглеждащ базата Ви с данни и страница с резултатите от търсене.

Първо, създайте таблица, съдържаща формата за търсене, в темплейтната страница на blog-a.

Отворете страницата blgtemplate.dwt.php
Вмъкнете нова таблица, под календарната таблица, с една колона и два реда, 100% width, borders 0, cell spacing 0 и cell padding 0.
Приложете CSS стила nugget върху таблицата, като използвате таг селектора
Напишете Search my blog: на първия ред и приложете върху него CSS стила nugheader
Вмъкнете на втория ред HTML форма (Insert bar > Forms tab) и приложете върху този ред стила nugbody
Във формата вмъкнете текстово поле и бутон
Скрипта search.php ще прихване и обработи входа на формата. Селектирайте тага
и напишете search.php в полето Action на Property inspector. Убедете се, че формата използва GET метода, за предаване на входните стойности. Това означава, че формата ще подаде търсещия низ като URL параметър, който ще бъде използван от скрипта search.php, за търсене на резултати.

фиг.21. Настройване на формата

Селектирайте текстовото поле и въведете SearchString в кутията TextField на Property inspector. Това е името на търсещата променлива.
Така също, пренапишете текста на submit бутона на Go, в Property inspector.

фиг.22 Търсачката

Запишете темплейтната страница (save) и ъпдейтвайте всички страници, базирани на нея
Следва, да съзадете скрипта за търсене и страницата с резултатите.

Отворете страницата search.php и приложете към нея, темплейта blgtemplate
Въведете Blog: Search Results, като заглавие на страницата, във лентата Document
Дефинирайте URL променлива в таба Bindings на панела Application, както е показано на фиг.23

фиг.23. Дефиниране на URL променлива

Въведете SearchString като име на променливата, в появилия се прозорец

фиг.24. Задаване на името на URL променливата

Променливата ще се покаже в панела Bindings, заедно с recordset-ите за страницата


фиг.25. Показване на URL променливата

Напишете Search results for: в редактируемия регион main и издърпайте URL променливата от таба Bindings във този регион след текста, както е показано на фиг.26

фиг.26. Вмъкване на URL променливата във Вашата страница

В следващите стъпки, ще създадете recordset, съдържащ резултатите от търсенето :

Дефинирайте recordset в таба Bindings и го конфигурирайте като на фиг.27

фиг.27. Дефиниране на rsSearchResults recordset

Настройте фино този recordset, за да избере само тези записи, съдържащи търсения низ. Кликнете бутона Advanced.
Дефинирайте SQL променлива, като кликнете бутона (+) във секцията Variables. Попълнете интерфейса Add Parameter, както е показано на фиг.28. Кликнете Ok.

фиг.28. Дефиниране на SQL параметри

Параметъра SearchString приема стойността на URL параметъра, изпратен от формата за търсене. Ще използвате този параметър, за да сравнявате съдържанието на статия със търсения низ, въведен от потребителя.

В SQL текстовото поле, добавете следните условия към recordset запитването, като добавянето да е преди клаузата ORDER BY:
WHERE title_art like '%SearchString%'
OR description_art like '%SearchString%'
OR text_art like '%SearchString%'

Символа % обозначава wildcard в MySQL . Това означава, че низа за търсене, може, да бъде предхождан или последван от всякакви символи. По този начин се разширява обхвата на търсене и позволява извеждане на резултати, за не напълно изписани думи, примерно. Ако някой търси cod във Вашия blog , статии съдържащи "code", "coding" и "encode", също ще бъдат показани, наравно с тези съдържащи точния низ.

Търсенето преглежда за въведения низ, във заглавията на статиите (title_art), във описанието на статиите (description_art) или в самото съдържание на статиите (text_art).

Кликнете Ok, когато сте готови с конфигурирането на rsSearchResults recordset.
Накрая , време е за показване на резултатите от търсенето.

Ще добавите финални щрихи, върху страницата с резултатите: осветяване на търсения низ в списъка с резултати. За да направите това , ще използвате PHP функцията str_replace(). Тази функция подменя, всички срещания на търсения низ, с низ за подмяна. Синтаксиса на функцията е:

str_replace (search,replace,subject)

Тази функция връща низ или масив със всички срещания от търсенето заменени със зададената стойност за подмяна.

В следващите стъпки, ще подмените търсения низ със форматирана негова версия.

Със отворена страница search.php, превключете на Split view.
Отидете в началото на документа където ще дефинирате нова PHP променлива. Разположете курсора след PHP реда, изискващ database connection, създайте нов празен ред и добавете следния код:

Използвайте Find and Replace, за да направите следните промени:
...................

Find this code:

$row_rsSearchResults['title_art']

Replace with:

str_replace($SearchString, "$SearchString",$row_rsSearchResults['title_art'])

.................

Find this code:

$row_rsSearchResults['description_art']

Replace with:

str_replace($SearchString, "$SearchString",$row_rsSearchResults['description_art'])

..................

Find this code:

$row_rsSearchResults['text_art']

Replace with:

str_replace($SearchString, "$SearchString",$row_rsSearchResults['text_art'])

.....................

Направете Save на search.php страницата, ъплоудвайте я на сървъра и я тествайте в браузъра, като използвате Dreamweaver за търсен низ. Ще забележите осветяване на открития низ

фиг.29. хм

Забележка: търсещия скрипт, който създадохте е чувствителен към регистъра на буквите. Това означава, че резултатите за CODE , не са резултатите за Code.

Следва продължение в Урок 3.4


/ Трябва да сте регистриран за да напишете коментар /