Vyhľadávač v PHP a MySQL 3.
V poslednom, treťom článku o tvorbe vyhľadávača v PHP, si ukážeme vytváranie jednoduchej štatistiky pre vyhľadávané údaje. Štatistika vyhľadávania nám poskytne údaje o vyhľadávaných slovách a celkovo o používaní vyhľadávača.
Na začiatku si vytvoríme tabulku s nasledovnými položkami:
Slovo
– sem sa zapíše každý hľadaný textHladane
– koľko krát bol text hľadanýNajdene
– koľko záznamov bolo pri jeho poslednom hľadaní nájdenýchNaposledy
– kedy bolo toto slovo hľadané naposledy
Vytvorenie tabulky bude vyzerať takto:
CREATE TABLE informacie(
Slovo varchar(50),
Hladane int,
Najdene int,
Naposledy datetime);
Táto tabuľka úplne postačí pre zapisovanie tých najzákladnejších údajov o vyhľadávaní. Pri každom vyhľadávaní sa najprv pozrieme do databázi, aby sme vedeli, či už práve hľadaný text niekto niekedy hľadal. Ak áno, tak tento záznam iba aktualizujeme. Pokiaľ ho ale nikto nehľadal, tak vytvoríme nový záznam s aktuálnymi výsledkami.
$datum = Date(„Y-m-d H:i:s“); // formát dátumu vhodný pre databázu
$info = MySQL_Query(„SELECT Hladane FROM informacie WHERE Slovo = ‚$slovo'“); // zistíme, či slovo už bolo hľadané
$pocet_info = MySQL_NumRows($info); // zistíme počet
if($pocet_info>0): // ak slovo už bolo hľadané, záznam iba aktualizujeme
for($l=0;$l<1;$l++):
$hladane2 = MySQL_Result($info, $l, „Hladane“);
$hladane = $hladane2 + 1;
endfor;
$update = MySQL_Query(„UPDATE informacie SET Hladane = ‚$hladane‘, Najdene = ‚$pocet‘, Naposledy = ‚$datum‘ WHERE Slovo = ‚$slovo'“);
else: // ak slovo ešte nebolo nikdy hľadané, tak ho do databázy pridáme
$vyhladavanie = MySQL_Query(„INSERT INTO informacie VALUES(‚$slovo‘, ‚1‘, ‚$pocet‘, ‚$datum‘)“);
endif;
Prejdime si ešte raz túto časť slovne. Vytvoríme premennú $datum, ktorá bude obsahovať aktuálny časový údaj vo formáte vhodnom pre zápis do databázi. Nazrieme do tabulky „informacie“ a zistíme, či už práve hľadané slovo bolo niekedy hľadané. Pokiaľ bolo, tak ho jednoducho aktualizujeme – aktualizujeme počet hľadaní, počet nájdených záznamov a aktuálny dátum. Pokiaľ slovo hľadané doposiaľ nebolo, tak pre neho vytvoríme nový záznam.
K vyhľadávaču nám pribudol ešte jeden nový súbor statistiky.php
. V ňom budeme mať prehľad štatistík o našom vyhľadávači. Tento súbor môžete poprípade sprístupniť pod heslom, aby k nemu nemal prístup bežný užívateľ. Celý skript vyzerá takto:
<style type=“text/css“>
<!–
.normal {FONT-SIZE: 12px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; margin-left:7; margin-right:7;}
.button {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; background: #6EACF9; font-style: bold; color: #10408F;}
.textinput {BACKGROUND-COLOR: #6EACF9; BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; BORDER-LEFT: silver 1px solid; COLOR: #10408F; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;}
–>
</style>
<div class=“normal“><h3>Štatistika vyhľadávania</h3></div>
<?
require „db.php“; // pripojime sa k databazi
if(Empty($limit)) $limit = „50“;
$vysledok = MySQL_Query(„SELECT * FROM informacie ORDER BY Hladane DESC LIMIT 0,$limit“);
$pocet = MySQL_NumRows($vysledok);
$a = 1;
echo „<table border=\“0\“ Cellpadding=\“0\“ Cellspacing=\“0\“>“;
echo „<tr bgcolor=\“#005FA4\“><td><div class=\“normal\“ align=\“center\“><font color=\“white\“><b>Hľadané slovo</b></font></div></td><td><div class=\“normal\“ align=\“center\“><font color=\“white\“><b>Počet hľadaní</b></font></div></td><td><div class=\“normal\“ align=\“center\“><font color=\“white\“><b>Počet nájdených odkazov</b></font></div></td><td><div class=\“normal\“ align=\“center\“><font color=\“white\“><b>Naposledy hľadané</b></font></div></td></tr>“;
for($i=0;$i<$pocet;$i++):
$slovo = MySQL_Result($vysledok, $i, „Slovo“);
$hladane = MySQL_Result($vysledok, $i, „Hladane“);
$najdene = MySQL_Result($vysledok, $i, „Najdene“);
$naposledy = MySQL_Result($vysledok, $i, „Naposledy“);
if(($a%2)==1):
echo „<tr bgcolor=\“#EEEEEE\“><td><div class=\“normal\“>$slovo</div></td><td><div class=\“normal\“>$hladane</div></td><td><div class=\“normal\“>$najdene</div></td><td><div class=\“normal\“>$naposledy</div></td></tr>“;
else:
echo „<tr bgcolor=\“white\“><td><div class=\“normal\“>$slovo</div></td><td><div class=\“normal\“>$hladane</div></td><td><div class=\“normal\“>$najdene</div></td><td><div class=\“normal\“>$naposledy</div></td></tr>“;
endif;
$a++;
endfor; echo „</table>“;
$naj_slovo1 = MySQL_Query(„SELECT * FROM informacie ORDER BY Hladane DESC LIMIT 0,1“);
$naj_slovo = MySQL_Result($naj_slovo1, 0, „Slovo“);
$vyhladavanie = MySQL_Query(„SELECT * FROM informacie“);
$pocet_vyhladavani = MySQL_NumRows($vyhladavanie);
$pocet_vyhl = 0;
for($e=0;$e<$pocet_vyhladavani;$e++):
$vyhl = MySQL_Result($vyhladavanie, $e, „Hladane“);
$pocet_vyhl += $vyhl;
endfor;
$pocet_najd = 0;
for($x=0;$x<$pocet_vyhladavani;$x++):
$najd = MySQL_Result($vyhladavanie, $x, „Najdene“);
$pocet_najd += $najd;
endfor;
$naposledy = MySQL_Query(„SELECT Naposledy FROM informacie ORDER BY Naposledy DESC LIMIT 0,1“);
$kedy2 = MySQL_Result($naposledy, 0);
$kedy = EReg_Replace(„([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})“,“\\3. \\2. \\1 \\4:\\5:\\6″, $kedy2);
?>
<div class=“normal“>
Najhľadanejšie slovo: <b><?=$naj_slovo?></b><br>
Počet uskutočnených všetkých vyhľadávaní: <b><?=$pocet_vyhl?></b><br>
Celkový počet nájdených záznamov: <b><?=$pocet_najd?></b><br>
Posledné uskutočnené hľadanie: <b><?=$kedy?></b><br>
</div>
<br>
<form action=“statistiky.php“ method=“get“>
<div class=“normal“>
Limit:
<input type=“text“ class=“textinput“ name=“limit“ size=“4″ maxlength=“3″ value=“<?=$limit?>“>
<button type=“submit“ class=“button“>Zobraziť</button>
</div>
</form>
</body>
</html>
Vyhľadávač si do svojich stránok vložíte naozaj jednoducho, po väčšine stačí len prepísať pár premenných a názvov, vyhľadávač funguje ľahko a bezproblémovo. Podrobnejšie o tom som písal v predchádzajúcich článkoch. Kompletný vyhľadávač som pomenil podľa niektorých námetov z príspevkov v diskusii a preto ponúkam jeho vylepšenú verziu.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Co je to DNSSEC, jak funguje a jak si ho nastavit?
14. srpna 2024 -
inPage AI: Jak na generování obsahu
18. července 2024 -
Vstupte do éry umělé inteligence: ASOME Max Studio s AMD Ryzen™ 9 7940HS
14. listopadu 2023
Nejnovější
-
Jak využít AI potenciál svého Macu?
9. ledna 2025 -
NIS2: Verifikace údajů vlastníků domén
6. ledna 2025 -
Dostali jste k vánocům PC? Využijte jeho AI potenciál!
3. ledna 2025 -
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024