Eli pitäisi saada hakukone sivuille joka etsii annetulta sivulta/kasiosta (esim omasivu.com/tiedostot/artikkelit) ja listaa tulokset.
Olen kokeillut täältä löytyviä, mutta niiden kanssa on tullut ongelmia....
Löytyisikö tälläistä?
Googlella löytyy... eikun siis Googlelta
Nojuu, mitään googlen hakukonetta en viitsisi laittaa, kun sen mainoksia pukkaa hakutuloksiin..
Vinkit PHP:llä:
-$_GET
-explode("."); <= (Tiedostonpääte)
Tosin en sit tiedä jos tiedoston sisällöstä haluat ettii...
Explodella ja whilellä jotenki. :P
ankzilla kirjoitti:
-explode("."); <= (Tiedostonpääte)
Ennemmin vaikka regexp:llä tai pathinfolla kuin explodella.
Ja näihin regexpeihin löytyy sitten hyvä perustutoriaali täältä putkastakin -> https://www.ohjelmointiputka.net/oppaat/opas.
Löysin hakukoneen, mutta ongelmana se että heittää erroria:
Warning: mysql_connect(): Access denied for user 'web00220'@'localhost' (using password: NO) in /home/web00220/public_html/sanat/class.search.
Access denied for user 'web00220'@'localhost' (using password: NO)
Tässä kyseinen koodi johon virhe kohdistuu:
<?php class search_engine { function search_engine($mysql) { # set database connection $this->host = $mysql[0]; $this->username = $mysql[1]; $this->password = $mysql[2]; $this->database = $mysql[3]; $this->link = mysql_connect($this->host,$this->username,$this->password) or die(mysql_error()); $this->db_selected = mysql_select_db($this->database,$this->link) or die(mysql_error()); $this->found = array(); } function set_table($table) { # set table $this->table = $table; } function set_keyword($keyword) { # set keywords $this->keyword = explode(" ", $keyword); } function set_primarykey($key) { # set primary key $this->key = $key; } function set_fields($field) { # set fieldnames to search $this->field =$field; } function set_dump() { # var dump objects echo '<pre>'; var_dump($this->found); echo '</pre>'; } function set_total() { # total results found return sizeof($this->found); } function set_result() { # find occurence of inputted keywords $key = $this->key; for ($n=0; $n<sizeof($this->field); $n++) { for($i =0; $i<sizeof($this->keyword); $i++) { $pattern = trim($this->keyword[$i]); $sql = "SELECT * FROM ".$this->table." WHERE `".$this->field[$n]."` LIKE '%".$pattern."%'"; $result = mysql_query($sql); while ($row = mysql_fetch_object($result) AND !empty($pattern)) { $this->found[] = $row->$key; } } } $this->found = array_unique($this->found); return $this->found; } } ?>
Kohdan:
# set database connection $this->host = $mysql[0]; $this->username = $mysql[1]; $this->password = $mysql[2]; $this->database = $mysql[3]; $this->link = mysql_connect($this->host,$this->username,$this->password) or die(mysql_error()); $this->db_selected = mysql_select_db($this->database,$this->link) or die(mysql_error()); $this->found = array();
tiedot olen täyttänyt.
Niin ja tuo sinun löytämäsi hakukonehan sitten etsii vain ja ainoastaan mySQL kannasta. Onko niin tarkoituskin?
On, koska kokeilin toisenlaisella joka ei hae tietokannasta, niin se ei löydä tiedostoja niin hyvin....
Jos tiedostoista on tarkoitus katsoa niin miks ees yrität sitten jotakin tietokannasta? Vähän saman tyylistä hommaa ku avata säilykepurkkia kirveellä kun vieressä olisi purkinavaaja.
Ellei sitten tietokannassa ole tiedostolistaa tai indeksoitua informaatiota.
Ja tuohon ongelmaan...
PHP:n tulkki kirjoitti:
Warning: mysql_connect(): Access denied for user 'web00220'@'localhost' (using password: NO) in /home/web00220/public_html/sanat/class.search.
php on line 12
Access denied for user 'web00220'@'localhost' (using password: NO)
... joskus saattaa ihan virheilmoituksen lukeminen auttaa. Tuossa sanotaan selvästi ettei kyseisellä käyttäjällä ole oikeuksia tietokantaan joten hommaappas jostakin esiin ne oikeat tunnukset.
Oikeat tunnukset on. Mutta jostainsyystä tulee aina tuo ilmoitus.
lainaus:
(using password: NO)
Salasana?
temu92 kirjoitti:
lainaus:
(using password: NO)
Salasana?
Jep. Kaikki tarvittatat on.
Vai pitääkö tähän kohtaan $this->found = array(); laitta jotain?
Ihan varmaan on salasana jos kyseessä ei ole omalla koneella oleva serverisi. Tuo virheilmoitus juuri tarkalleen sanoo siitä että salasanaa _ei ole_ ja tunnukset ovat väärin. Eli älä nyt ala muokkailemaan mitään eri kohtia ennen kuin olet saanut toimivat tunnukset.
temu92 kirjoitti:
Ihan varmaan on salasana jos kyseessä ei ole omalla koneella oleva serverisi. Tuo virheilmoitus juuri tarkalleen sanoo siitä että salasanaa _ei ole_ ja tunnukset ovat väärin. Eli älä nyt ala muokkailemaan mitään eri kohtia ennen kuin olet saanut toimivat tunnukset.
Pitääpä tarkistaa jos on tullut kirjoitusvirhe. :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.