Ablakok.  Vírusok.  Jegyzetfüzetek.  Internet.  hivatal.  Segédprogramok.  Drivers

11,1K

Az egyik legnépszerűbb és legszükségesebb funkció bármely webhelyen a keresés, amelyet egy speciális űrlap segítségével hajtanak végre. Ez a funkció lehetővé teszi a látogatók számára, hogy gyorsan megtalálják az őket érdeklő tartalmat az oldalon.

Ma azt szeretnénk elmondani, hogyan kereshet az oldalon egy speciális űrlap segítségével, amely lekérdezi az adatbázis tábláit, és információkat jelenít meg a webhely aktuális vezetőiről. Megtanulja, hogyan hozhat létre adatbázistáblát, amely információkat tartalmaz az aktuális személyzetről.

Keresési űrlapok kidolgozása PHP segítség, és ismerkedjen meg az SQL-lel (Structured Query Language) is - speciális nyelv az adatbázisokban található információk gyűjtésére, rögzítésére és módosítására. Mielőtt elkezdené, javasoljuk, hogy töltse le a projektfájlokat.

Mire lesz szüksége

  • MySQL adatbázis eszköz.
  • Helyi vagy távoli szerver PHP támogatással.
  • Szöveg szerkesztő.
Adatbázis létrehozása

Ha nem teljesen biztos abban, hogy képes kezelni a tárhelyén található adatbázist, akkor forduljon a házigazdához útmutatásért vagy segítségért. Az adatbázis létrehozása után össze kell kötnie, létre kell hoznia egy táblát, és be kell írnia a szükséges adatokat.

A legnépszerűbb MySQL kezelőeszköz a PHP My Admin , amely elég lesz a mai útmutatónkhoz.

Hozzon létre egy táblázatot

A táblázatunkat a következő formátumban kell elkészíteni:

oszlop neve adattípus Hossz Null or Not Null elsődleges kulcs? Automatikus növelés
ID INT 1 Nem nulla Igen Igen
Keresztnév Varchar 50 Nem nulla nem nem
vezetéknév Varchar 50 Nem nulla nem nem
Email Varchar 50 Nem nulla nem nem
Telefonszám Varchar 15 Nem nulla nem nem

Az adatbázistáblázat az Excelhez hasonlóan oszlopokból és sorokból áll. Az első oszlop lehetővé teszi az adatok név szerinti azonosítását. Ezután következik az Adattípusok (adattípus) oszlop, amely jelzi számunkra az oszlopban található adatok típusát. A Length (Length) mezőben a memória (tárhely) maximális mennyiségét jelzi egy táblázat oszlopához. Olyan változókat használunk, amelyek nagyobb rugalmasságot biztosítanak. Más szóval, ha a teljes név hossza kevesebb, mint 50 karakter, akkor a kijelölt helynek csak egy része lesz elfoglalva.

És a személyzet között adatok nem lehetnek üres értékek(null, üres). Az első sor kiemelve sárga mert az ID oszlop az elsődleges kulcsunk. Az adatbázisban található elsődleges kulcs garantálja, hogy minden bejegyzés egyedi lesz. Ez az oszlop is automatikusan növekszik, ami azt jelenti, hogy adatbázisunkban minden rekord automatikusan egyedi számot kap.

A táblázatba beírjuk a személyzet képviselőit

Miután megértette a táblázatot, kezdje el feltölteni adatokkal. 6 bejegyzés elegendő ahhoz, hogy az eljárást az elmében rögzítse. Itt van a saját példám:

Oszlopazonosító Keresztnév vezetéknév Email Telefonszám
2 Ryan Komornyik [e-mail védett] 417-854-8547
3 Brent Callahan [e-mail védett] 417-854-6587
Formafejlesztés

Webhelykereső űrlap létrehozásához a Google-on keresztül, nyissa meg a megfelelő űrlapot szöveg szerkesztő. Javaslom az ingyenes PSPad használatát. Bármilyen szövegszerkesztőt használhat, amely rendelkezik szintaktikai kiemeléssel. Ez nagyban megkönnyíti a PHP kód írási és hibakeresési folyamatát. Ha oldalt hoz létre egy keresési űrlaphoz, mindenképpen .php formátumban mentse el, különben a PHP kód nem lesz megfelelően értelmezve. A dokumentum mentése után másolja bele a következő jelölést:

Kapcsolatkeresés:

Részletes kapcsolatkeresés

Kereshet vezeték- vagy keresztnév alapján

Ha ismeri HTML nyelv, akkor mindennek világosnak kell lennie legalább a nyitó űrlap címkéjéig. Ebben a címkében található a teljes kód legfontosabb eleme - cselekvési attribútum. Űrlapunk műveleteként megadtuk a fájl nevét, majd a „go” lekérdezési karakterláncot alkalmaztuk rá.

Kritériumok ellenőrzése

Amikor a felhasználó beír egy vezeték- vagy utónevet, majd rákattint a küldés gombra, az űrlap elküldi magának az adatokat, és a végére hozzáfűzi a „go” lekérdezési karakterláncot. Ezen a ponton ellenőrizzük a go lekérdezési karakterlánc jelenlétét. Ha az eredmény pozitív, megjelenítjük a keresési eredményeket.

A kért eredmények megjelenítése előtt még egyszer ellenőriznünk kell: (1) elküldték-e az űrlapot, (2) hogy a lekérdezési karakterlánc tartalmazza-e a go értéket, (3) keresési lekérdezés beírt az alsó ill nagybetűs? Ha egyik ellenőrzés sem ad pozitív eredményt ( igaz ), akkor nem kell semmilyen intézkedést tennünk.

Először adjunk hozzá egy kis PHP webhelykeresési kódot a záró címke után:

Először megnyitunk egy PHP kód blokkot a "" címkével.

A címkepáron belüli bármely PHP kódot a szerver végrehajtja. Ezután ellenőrizzük, hogy az űrlapot elküldték-e:

Használjuk a beépített isset függvényt, amely bool értéket ad vissza, és belehelyezzük a $_POST tömböt. Egy logikai kifejezés a programozásban lehetővé teszi számunkra, hogy igaz vagy hamis értéket kapjunk.

Ezért ha a függvény true értéket ad vissza, akkor az űrlapot elküldtük, és folytatnunk kell a kód végrehajtását. Ha a függvény visszatér hamis, akkor hibaüzenetet jelenítünk meg. Mentse el az összes beírt kódot a search_submit.php fájlba.

Egy másik feltételes logikai kifejezést beágyazunk a főbe, de ezúttal a $_GET tömböt használjuk a „go” értékkel együtt. Mentse el a változtatásokat a search_go.php fájlba.

Most meg kell győződnünk arról, hogy a látogatók a lekérdezési karakterlánc első betűjét csak nagybetűvel vagy csak kisbetűvel írhatják be. Módot kell biztosítanunk a látogató által megadott keresési feltételek figyelembe vételére is. A látogatói bevitel ellenőrzésének legjobb módja egy reguláris kifejezés:

Egy másik feltételes logikai kifejezést beágyazunk a kettőnkbe. Ezúttal mi használjuk reguláris kifejezés a bevitel érvényesítéséhez. A preg_match beépített függvényt két paraméterrel használjuk: egy reguláris kifejezést és egy űrlapmezőt, amelyre az érvényesítést alkalmazni kell.

Esetünkben ez a " Név»(név) mező lesz. A látogató által megadott keresési paraméterek lekéréséhez létrehozunk egy $name változót, és hozzá kötünk egy POST értéket az SQL lekérdezésben használt űrlap mezőjének nevével. Mostanra megvalósítottuk a következőket: (1) az űrlapadatok elküldése, (2) a lekérdezési karakterlánc tartalmaz egy go értéket, és (3) a látogató nagy vagy kis kezdőbetűt írt be. Mindezek az ellenőrzések még az adatbázis módosítása előtt megtörténnek. Mentse el az összes változtatást.

Csatlakozás, kijelölés, lekérdezés és eredmények visszaadása adatbázistáblából

Ha adatokat szeretne lekérni egy táblázatból, először csatlakoznia kell a szerverhez a webhelykeresési szkriptben. Ehhez a következő kódot használjuk:

Létrehozunk egy $db változót, és hozzákötjük a mysql_connect beépített MySQL függvényhez, amely három paramétert vesz igénybe: az adatbázis-kiszolgálót (localhost, ha helyileg dolgozik), egy felhasználónevet és egy jelszót.

Ezt követően futtatjuk a beépített PHP függvényt die , amely leállítja a további kódfuttatást, ha nincs kapcsolat az adatbázissal. A hibainformációkat pedig a MySQL beépített mysql_error függvényének futtatásával nyomtassa ki, amely visszaadja a hiba okát. Mentse el a search_connectdb.php fájlt.

Létrehozunk egy mydb nevű változót, és hozzákötjük a beépített MySQL függvényhez mysql_select_db, majd megadjuk a korábban létrehozott adatbázis nevét. Ezt követően lekérdezzük az adatbázistáblát egy SQL lekérdezéssel, amelynek névváltozója tartalmazza a látogató által megadott keresési paramétereket:

Adatbázistábla lekérdezésekor létrehozunk egy $sql változót, és egy SQL lekérdezést tartalmazó karakterlánchoz kötjük. A SELECT utasítással lekérjük az értékeket az id oszlopokból, valamint a kereszt- és vezetékneveket a névjegytáblázatból. Ezután a WHERE záradékot, valamint a vezeték- és utónév értékét használjuk a keresés szűkítésére.

A LIKE operátorral együtt használjuk a százalékjelet (%) - egy speciális karaktert, amely 0 vagy több karaktert ad vissza, valamint a névváltozót a keresési karakterláncból. Ennek eredményeként a LIKE (a speciális karakterrel kombinálva) minden egyező nevet megtalál az adatbázistáblában. Az egész folyamatot a következőképpen írhatja le: „A névjegyzékből kiválasztjuk a beírt látogatónak megfelelő vezeték- és utónevet.” Mentse el a search_query.php fájlt.

Létrehozunk egy $result változót, és hozzárendeljük a mysql_query() függvény értékét, a $query-be helyezve. Most a lekérdezésünk az eredményváltozóban kerül tárolásra. Az eredmény PHP-ben történő kiadásához létrehozunk egy hurkot, majd az adatokat egy rendezetlen listában adjuk ki:

Először létrehozunk egy while ciklust, amelyen belül létrehozunk egy row nevű változót, és inicializáljuk a mysql_fetch_array függvény visszatérési értékével, amely az SQL lekérdezésünket tartalmazó eredményváltozót vesz fel. Belül míg hurok minden oszlopértékhez hozzárendeljük egy azonos nevű változó értékét. Ezután az értékeket egy rendezetlen listán belül adjuk ki.

Itt két fontos dolgot kell megjegyezni: (1) a while cikluson belül nem kell értékeket rendelni a sortömb változóihoz, mivel az értékek közvetlenül a sortömbből vehetők át; (2) a fájlnévben használt horgonycímke az azonosítóval és a fő kulccsal együtt. Ennek az az oka, hogy sok keresési elem kezdetben semmit sem jelenít meg.

Mivel csak az utó- és vezetéknevet jelenítjük meg úgy, hogy a horgonycímkénk végéhez hozzáadunk egy azonosítót, az azonosítót egy további lekérdezéshez használhatjuk, amely megjeleníti További információ a személyzetről. Mentse el a fájlt és tesztelje PHP űrlap webhelykeresés (search_display.php ).

Távolítsa el a füleket

Az eredmények rendezetlen listaként jelennek meg, de a lényeg az, hogy nincs szükségünk tabulátorokra. Megszabadulásához adja hozzá a következő CSS-szabályt a fájl legtetejéhez a fejben:

ul li( list-style-type:none; )

Keresés betűk szerint

Csak néhány extra kódsorra van szükség a helyesírás-keresés végrehajtásához. Adjuk hozzá ezt a kényelmes funkciót a látogatók számára. Így a vezeték- vagy utónévben szereplő betűk alapján meg tudják találni a személyzet képviselőit.

Adja hozzá a következő kódsort a záró űrlapcímke után:

A | b | K

Ha hibát észlel, jelöljön ki egy szövegrészt, és nyomja meg a Ctrl + Enter billentyűket
OSSZA MEG: