Căutați site-ul ajax php mysql (php mysql) - Vreau un site web

Căutați pe site AJAX + PHP + MySQL (PHP + MySQL)

Bună ziua, dragi prieteni, salut.
În niciun caz nu mă deranjează cu problema organizării unei căutări personalizate pe site. Și în acest articol, vreau din nou să mă refer la aceasta și să spun cum să implementez căutarea utilizând o grămadă de AJAX + PHP + MySQL.







Adică, de această dată nu voi folosi serviciile de servicii ale unor terțe părți, dar voi arăta cum poate fi implementată în mod independent, folosind doar ceea ce avem. Anume: serverul PHP și serverul MySQL cu o bază de date pe care sunt stocate informațiile despre site.

Și pentru a lega totul împreună - transferul unei solicitări de căutare către server și eliberarea de informații în browser după prelucrare va ajuta tehnologia AJAX.

Pentru a implementa căutarea, în proiectarea mea, vom folosi AJAX (partea clientului) și PHP + MySQL (partea de server)

Obiectivele sunt definite, să dezvoltăm acum un algoritm pentru acțiunile noastre

Mai întâi vom formula problema:

Scriptul PHP primește un răspuns de la serverul MySQL cu rezultatele căutării în baza de date. generează HTML cu ieșire de căutare și AJAX îl transmite clientului (browserului). după care este afișat pe ecran.

În articolul de astăzi, mă voi uita la pachetul PHP + MySQL și vă voi arăta cum să organizați o ieșire simplă a informațiilor găsite în browser. Iar în articolul „de căutare pe site AJAX + PHP + MySQL (AJAX)“ Voi discuta despre cum să „lega“ la toate acestea AJAX optimizând astfel de ieșire a informațiilor de căutare pentru utilizator.

Și așa, să începem

Pentru claritate, am decis să fuzionăm tot codul într-un fișier. Dar ar trebui să rețineți că în cazul în care integrarea HTML și caz PHP, în general, normale, apoi unirea într-un singur setări de configurare fișier pentru conexiuni bază de date, susținerea funcțiilor PHP direct de script PHP în cazul în care un singur fișier invalid, și că, desigur, corect pentru a le distribui pe fișiere individuale. Deci spun că zboară separat, tăițe separat.

Mai întâi de toate, iată codul pe care l-am primit:

În primul rând, vom crea un formular de căutare. care trimite o cerere de căutare către server:

Dar pe scriptul responsabil pentru conectarea la baza de date MYSQL și executarea interogării în baza de date, vreau să mă opresc puțin mai detaliat

Mai întâi vine un bloc de cod în care sunt inițializați parametrii pentru conectarea la baza de date și este creată conexiunea în sine - connectDB (). și closeDB () - care închide conexiunea la baza de date. Bineînțeles, datele din numele tabelelor. selectate din tabelele cu parametri. parola pentru a vă conecta la baza de date și numele bazei de date în sine trebuie să specificați-vă propria.







Apoi am ajuns la funcția principală de căutare () în care se efectuează toate lucrările principale și la care este trecut parametrul pentru procesare - șirul de interogare $ interogare.

Mai întâi, filtram șirul de interogări tăind spațiile și caracterele de control (). prin scăparea caracterelor speciale mysql_real_escape_string (). astfel încât interogarea să devină sigură pentru baza de date. Vă recomand să efectuați acest tratament. deoarece orice formă de pe site-ul dvs. este o vulnerabilitate potențială, vorbind figurativ, "intrare neagră" pentru intruși. Nu o să lăsați deschisă, nu-i așa?

Apoi, mergeți direct la interogarea de căutare Prima verificare nu este goală! Gol () a făcut interogarea de căutare?

Dacă cererea este goală, returnează mesajul respectiv utilizatorului. Dacă testul este trecut, verificați-l pentru dimensiune.

Nu ne interesează interogări mai scurte de 4 sau mai mult de 128 de caractere. Cererea nu respectă cerințele noastre - afișăm din nou mesajele corespunzătoare pentru utilizator. Ei bine, dacă e în regulă, interogăm baza de date.

Dar, în acest moment mai detaliat.
Mai întâi, în variabila șir $ sql, formăm șirul de interogare. Cu instrucțiunea SELECT. care preia identificatorul paginii (id), titlul (din titlu), o descriere (descriere), precum și link-uri către o pagină (link), selectați tabelul (DIN table_name) valori ale câmpurilor în care (unde) oriunde în titlul sau descrierea CONȚINUȚI termenii noștri de căutare ("descriere" LIKE '% $ query' sau 'titlu` LIKE'% $ query% ').

Dacă nu găsiți nimic, vom afișa mesajul utilizatorului. Dacă interogarea returnează cel puțin o înregistrare, se formează într-un ciclu (DO WHILE) a cărui caracteristică este că este executată cel puțin o dată, șirul de răspuns al serverului către client cu rezultatele SERP. Firește, dacă interogarea către baza de date nu a returnat decât una, ci mai multe înregistrări, atunci toate acestea în ciclu prin metoda de concatenare "dock" la rezultatul nostru.

Ei bine, la sfârșitul funcției, vom returna rezultatul la scenariul principal.


Ei bine și mai departe există un bloc de cod care pe ideea ar trebui să fie un fișier de căutare separate.php. și în care toate funcțiile noastre sunt legate

Cum scrii? Nu este impresionat de dimensiune? Dar de la el depinde totul. Să-i analizăm lucrarea.

Mai întâi, verifică dacă isset () există și nu este gol! Empty () a venit la noi prin cererea POST [query] de la client (browser). Dacă totul este OK. Deschidem o conexiune la baza de date Mysql și apelăm funcția search (). în care transmitem interogarea de căutare.

Următoarea linie afișează un răspuns de la server, oricare ar fi acesta.

Și, bineînțeles, nu uitați să închideți conexiunea la baza de date. trecând descriptorul conexiunii - $ connect. după terminarea lucrului.

Cea mai simplă căutare pe site folosind PHP și MySQL este gata. Bineînțeles că îl puteți actualiza pe cont propriu.

Și în articolul „Căutare site-ul AJAX + PHP + MySQL (AJAX)“ Vă voi arăta cum să se extindă și să se conecteze script PHP pentru a le conecta la Ajax si astazi am totul. Și dacă aveți întrebări - vă rugăm să întrebați. La revedere și sperăm să vă vedem în curând.







Articole similare

Trimiteți-le prietenilor: