Starší komentáře ke článku: Jak na vlastní katalog stránek v PHP - pokročilé hledání

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Jakub Hlousek

Datum vložení: 26.3.2001 14:37:04

Taky jsem delal katolog (videi) a narazil jsem na problem relevace vysledku. Potreboval bych poradit jak vyhledat zaznamy a posleze je setridit podle mnozstvi shodnych slov v popisku a dotazovanem vyrazu. Podobne vyhledavani jako je na <a href='http://www.centrum.cz' target='_blank'>http://www.centrum.cz</a>.

Avatar

Autor komentáře: Jirka

Datum vložení: 10.3.2007 12:55:28

Já jsem tohle taky potřeboval, ale musel jsem to nakonec udělat tak, že jsem si udělal pole, kam jsem ukládal jako klíč ID z datazáze, kde se v daném řádku nacházelo pouze 1 ze zadaných slov a jako hodnotu pole jsem uložil číslo, které se při naleznutí slova z dotazu v popisku zvýšilo o jedna a musel jsem to opakovat pro každé ze slov z dotazu. Nevím, jak to dělají na centrum.cz, ale tohle nakonec zjistilo, kolika slovům z dotazu odpovídá popisek. Je to ale podle mě dost náročné a neefektivní, ale nevím, jak jinak to udělat.

Avatar

Autor komentáře: Jirka

Datum vložení: 10.3.2007 12:57:13

Samozřejmě to člověk nemusí dělat takho, když je operátor vyhledávání AND! A co se týče počtu výskytu slov v hledaném řetězci, tak s tím jsem se nezabýval.

Avatar

Autor komentáře: edasx

Datum vložení: 28.3.2001 18:38:29

TODLE PATRI K TRETIMU DILU ALE NEJAK TAM NEJDE PRIDAVAT DO DISKUZE!!!!!

me neprijde moc efektivni pouzivat while cyklus na sql query - nezahlti se databaze prilis. o efektivite sem toho zatim moc necet a mysql rozumim asi jako sedlak - tj. vim prikazy. jak pridat neco, jak ubrat, jak najit, ale nejak nevim jak a co pouzivat. sem ale trochu paranoidni, takze mi prijde, ze je lepci co nejmin queries na DB. byla doba co sem mel na strance treba 10 dotazu na DB a kdyz pak mate 50000 stazeni denne tak je to docela zahul. tak sem to zminimalizoval tak, ze se mi nektery detajly ktery se malo menej generujou do souboru ktery pak stranka obsahuje pomoci PHPckyho include... tady by se to dalo podle me vyuzit u tech sekci.... urcita cast programu (nazve me to treba compiler.php) v sekci admina vygeneruje file (nazveme ho treba odkazy.php) a ten pak hlavni stranka includne... (v tomto clanku je to index.php - myslim).... ten while cyklus co je tady - muzem presoupnout do toho compleru s tim, ze compiler projede vsechny sekce a sejvuje to do file odkazy.php ktery ma nasledujici strukturu...

<?
$odkaz[1]="<a href=index.php?sekce=5>mysql</a>";
$odkaz[2]="<a href=index.php?sekce=6>Databaze</a>";
.
.
?>

a tak dal... takze pak se ten while cyklus z index.php vyhodi a nahradi se prostym
<?
include "odkazy.php";
echo $odkaz[$sekce];
?>

co vy na to? o ty efektivite bych toho slysel rad vic... (btw: je mi jasny ze v temdle clanku de o jednoduchost - ale nejaka zminka o efektivite tolika queries by bodla... =)

Avatar

Autor komentáře: Joe

Datum vložení: 27.12.2001 15:58:59

Přišel jsem na drobný nedostatek při třídění podle kvality. Pokud necháme script tak jak je, setřídí nám sice výsledek dotazu podle kritéria kvalita, ale bohužel vzestupně, což znamená že čím lepší odkaz, tím nižší umístění. To postrádá logiku. Každý předpokládá že je samozřejmě na první pozici nejlepší odkaz. Naštěstí stačí připsat jeden modifikátor a vše je ihned v naprostém pořádku.

$trideni = ' ORDER BY kvalita_prum <B>DESC</B>'

Jinak bych chtěl autorovi poděkovat za tuto perfektní aplikaci která mě moc pomohla. PHP se učím krátce a takovéto seriály mi moc pomáhají v pochopení jak co pracuje a šetří mnoho práce při vytváření vlastních aplikací.

Ještě jednou díky

Zpět na článek | Úvodní stránka Interval.cz