Megvalósítási példa. Élő keresés a Bitrix-en. Megvalósítási példa Férfi keresési elem megkövetelése php i
A mai leckében megnézzük php mysql keresés. Rengeteg keresőszkript létezik, van amelyik adatbázist használ, van aki nélküle is megteszi, vannak speciális keresések pontos rendezéssel. A szokásos egyszerű keresésre koncentrálunk, amely két táblán keres információt az adatbázisból MySQL.
Első lépés. MySQL adatbázis.
Adatbázis létrehozása search_lite, két asztala van hírek- hírek és vakáció- üres álláshelyek.
Állítsa be a jogosultságokat:
Belépés - " gyökér",
Jelszó - "",
Házigazda - " helyi kiszolgáló".
A hírtábla kinyomtatása.
Táblázatszerkezet a "news" táblához -- TÁBLÁZAT LÉTEZÉSE, HA NEM LÉTEZIK "news" ("id" int(2) NOT NULL, "title" varchar(255) NOT NULL, "text" szöveg NOT NULL, ELSŐDLEGES KULCS ("id" `)) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Dömping asztal vak - üresedés.
Táblaszerkezet a `vac` táblához -- TÁBLÁZAT LÉTEZÉSE, HA NEM LÉTEZ `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 ;
Második lépés. HTML és PHP.
Csatlakozunk az adatbázishoz. Állítson be feltételt egy változóra $search, amelyben a keresési lekérdezés nincs megadva, vagy 4 karakternél rövidebb, valamint ellenőrizze a perjeleket és vágja le a változót. Létrehozunk két lekérdezést, amelyek két táblát keresnek az adatbázisban hírekés vakáció mező keresési feltétele szerint szöveg. (Már kiválaszthatja, hogy hány táblát kell keresnie. Például lesznek táblái leckéket, anyagokat, cikkeket stb. A mező helyett a keresési feltételeket is módosíthatja szöveg, kiválaszthatja a mezőt cím vagy egy másik mező.) Ekkor a változóban történő keresés megjelenítésekor jelezzük, hogy a szöveg hány karakterből áll $szimbólumok. Ha a táblázatokban hírekés vakáció A keresés során nem találtunk semmit, üzenetet jelenítünk meg. Ha talált, akkor két táblázatból adja ki az adatokat hírekés vakáció az adott keresési lekérdezéshez.
$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 "
"; visszhang"
"; ) else ( echo "
"; $search = htmlspecialchars(stripslashes(trim($search))); $sql_news = mysql_query("SELECT id, title, text FROM news WHERE text LIKE "%$search%""); $news = mysql_num_rows($sql_news ); $sql_vac = mysql_query("SELECT id, title, text FROM vac WHERE text LIKE "%$search%""); $vac = mysql_num_rows($sql_vac); $find = $search; $symbolls = "80"; if ($news==0 és $vac==0) echo "
"; else ( /*Hírek/hírek - táblázat*/ for($i=1; $hírek = mysql_fetch_array($sql_news); $i++) ( $keresőszöveg = $hír["szöveg"]; $kereső_szöveg = strip_tags($ search_text, "
"); $search_txt_length = strlen($keresőszöveg); $search_first_enter = strpos(strtolower($keresőszöveg), strtolower($find)); $pad_left = $search_first_enter - $szimbólumok; $pad_jobb = $search_first_enters + $symbolls + $symbolls; if ($pad_jobbra><0) $pad_left = "0"; $search_text = substr($search_text, $pad_left, $pad_right); $search_text = str_replace (strtolower($find), "".strtolower($find)."
$i. $hírek
|
...$search_text...
találtak a hírekben |
"; ) /*Jobs/vac - table*/ for($i=1; $vac = mysql_fetch_array($sql_vac); $i++) ( $search_text = $vac["text"]; $search_text = strip_tags($search_text , "
"); $search_txt_length = strlen($keresőszöveg); $search_first_enter = strpos(strtolower($keresőszöveg), strtolower($find)); $pad_left = $search_first_enter - $szimbólumok; $pad_jobb = $search_first_enters + $symbolls + $symbolls; if ($pad_jobbra>$kereső_txt_hossza) $pad_jobbra = $keres_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($keresés_szöveg)); visszhang"
$i. $vac
|
...$search_text...
üres álláshelyeken találhatók |
"; } } } } ?>
Harmadik lépés. CSS.
Írjunk néhány stílust, amelyek meghatározzák a keresést.
Keresés_név ( szín: fekete; betűméret: 18 képpont; ) .search_questions ( szín: fekete; betűsúly: félkövér; betűméret: 15 képpont; ) .search_query ( szín: kék; betűstílus: dőlt; ) .search_error ( szín: piros; betűméret: 15 képpont; ) .search_input ( keret: 1px tömör fekete; szélesség: 500px; magasság: 30px; ) .search_word ( szín: kék; ) .search_title ( betűméret: 20px; szín: kék; font-weight: bold; ) .search_text ( font-size: 15px; color: black; ) .search_cat ( font-size: 12px; color: gray; float: right; margin-top: 20px; )
Megfontoltunk veled egy egyszerűt php mysql keresés A, amely információt keres egy adatbázisból. Feltétel szerint két asztal van használatban, bármilyen kényelmes módon testreszabhatja. A következő leckét az egyszerű keresés analógiájának szenteljük, csak speciális funkciókkal.
11,1KAz 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 fejlesztése PHP-vel, és ismerkedjen az SQL-lel ( Strukturált lekérdezési nyelv) egy 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 projektfájlok letöltése.
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 |
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élyi adatok között nem lehetnek üres értékek ( null, üres). Az első sor sárga színnel van kiemelve, 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. Íme a saját példám:
Oszlopazonosító | Keresztnév | vezetéknév | 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ő szövegszerkesztőt. 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:
Részletes kapcsolatkeresés
Kereshet vezeték- vagy keresztnév alapján
Ha ismeri a HTML nyelvet, 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 - az action attribútum. Űrlapunk műveleteként megadtuk a fájl nevét, majd alkalmaztuk a lekérdezési karakterláncot " megy”.
Kritériumok ellenőrzése
Amikor a felhasználó beír egy kereszt- vagy vezetéknevet, majd rákattint a küldés gombra, az űrlap elküldi magának az adatokat, és hozzáfűzi a lekérdezési karakterláncot. megy". 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 találatok megjelenítése előtt még egyszer ellenőriznünk kell: (1) elküldték-e az űrlapot, (2) a lekérdezési karakterlánc tartalmazta-e a go értéket, (3) a keresett kifejezést kisbetűvel vagy nagybetűvel írták be? Ha egyik ellenőrzés sem ad pozitív eredményt ( igaz), nem kell semmilyen intézkedést tennünk.
Először is adjunk hozzá egy kis PHP-kód blokkot a webhelykereséshez a záró címke után.: