Codice PHP:
<?php
class Search
{
#CONFIGURA
#Parametri ricerca
var $fulltext = "milano,roma,url,via,descrizione,chiave";
var $table = "insegna";
#parametri db
var $host = "localhost";
var $password = "";
var $user = "";
var $db = "";
#metodo score -> p in percentuale, f in frazione
var $pf = "f";
#FINE CONFIGURAZIONE
#NON EDITARE OLTRE QUESTA LINEA
var $key;
var $conn;
var $res;
var $total;
function Search($key)
{
$this->key = $key;
}
function DbConnectAndSelect()
{
$this->conn = @mysql_connect($this->host, $this->user, $this->password) or die ("Impossibile stabilire una connessione con il server.
MySql risponde: " . mysql_error() . "
Il codice errore é:" . mysql_errno());
@mysql_select_db($this->db, $this->conn) or die ("Impossibile connettersi al database $this->db.
MySql risponde: " . mysql_error() . "
Il codice errore é:" . mysql_errno());
}
function GetResource()
{
$this->DbConnectAndSelect();
$sql = "SELECT *, MATCH($this->fulltext) AGAINST('$this->key' IN BOOLEAN MODE) AS tot FROM $this->table WHERE MATCH($this->fulltext) AGAINST('$this->key' IN BOOLEAN MODE) ORDER BY tot DESC";
$this->res = mysql_query($sql, $this->conn);
}
function CalcScore($tot)
{
switch($this->pf)
{
case "f":
$key_array = explode(" ", $this->key);
$this->total = count($key_array);
return $tot . " / " . $this->total;
break;
case "p":
$key_array = explode(" ", $this->key);
$this->total = count($key_array);
$output = intval($tot / $this->total * 100) . "%";
return $output;
break;
default:
$key_array = explode(" ", $this->key);
$this->total = count($key_array);
return $tot . " / " . $this->total;
}
}
}
$search = new Search($key);
$search->GetResource();
while ($row = mysql_fetch_array($search->res))
{
echo $row['milano,roma,url,via,descrizione,chiave'] . " score: " . $search->CalcScore($row['tot']);
}
?>
Codice PHP:
-- Dump dei dati per la tabella `insegna`
--
INSERT INTO `insegna` (`id`, `milano`, `roma`, `url`, `via`, `descrizione`, `chiave`) VALUES
(27, 'Milano', '', 'www.ristorantedagiulia.it', '', 'Serata particolare e quindi decido di "provare" questo ristorante di cui ... Insomma, un''ottimo riferimento a Milano per il pesce fresco anzi, freschissimo. ...', 'milano Piazza gramsci Ristornate pesce milano milano pesce Ristorante di pesce milano ristorante di pesce a milano Ristorante specialita'' di pesce milano Ristorante specialita'' di pesce a milano Ristorante da Giulia milano milano, piazza gramsci Milano, piazza Gramsci Ristorante da Giulia Ristorante Pesce milano Ristorante di pesce a Milano Ristorante di pesce Milano'),
(26, 'Milano', '', 'www.shannara.mi.it', '', 'Ristorante rustico ed elegante dove si potranno apprezzare specialità a base di pesce ispirate ai sapori della tradizionale cucina mediterranea esaltate con sempre nuovi accostamenti raffinati e stuzzicanti.\r
La nostra specialità è una ricercata selezione di frutti di mare serviti crudi...', 'milano via de andreis Ristornate pesce milano milano pesce Ristorante di pesce milano ristorante di pesce a milano Ristorante specialita'' di pesce milano Ristorante specialita'' di pesce a milano Ristorante shannara milano milano,via de andreis Ristorante shannara Ristorante Pesce milano Ristorante di pesce Milano'),
(25, '', 'Roma', 'ristorantelebistrot', '', 'ristorante in roma garbatella, Le Bistrot, restaurants, rome, Cucina vegetariana , Piatti francesi....', 'Roma via delle sette chiese Ristornate vegetariano Roma Roma vegetariano Ristorante vegetariano Roma \r\nristorante vegetariano a Roma Ristorante specialita'' vegetariano Roma\r\n Ristorante specialita'' vegetariane Roma Ristorante le Bistrot via margutta Roma Ristorante vegetariano Roma Ristorante Le Bistrot'),
(23, '', '', 'ww.gattenere.it', '', 'ppippo e brutto come martina', ''),
(24, '', 'Roma', 'www.ilmarguttavegetariano.it', '', 'Il margutta è il ristorante dove il sapere , il colore e l''arte si sposano perfettamente, tutto servito con personale molto qualificato, siamo a via ...', 'Roma via margutta Ristornate vegetariano Roma Roma vegetariano Ristorante vegetariano Roma \r\nristorante vegetariano a Roma Ristorante specialita'' vegetariano Roma\r\n Ristorante specialita'' vegetariane Roma Ristorante il Margutta via margutta Roma Ristorante vegetariano Roma Ristorante MArgutta'),
(18, '', '', 'ww.gattenere.it', '', 'Che martina è brutta', ''),
(19, '', '', 'ww.gattenere.it', '', 'ppippo e brutto come martina', ''),
(20, '', '', 'ww.gattenere.it', '', 'ppippo e brutto come martina', ''),
(21, '', '', 'ww.gattenere.it', '', 'ppippo e brutto come martina', ''),
(22, '', '', 'ww.gattenere.it', '', 'ppippo e brutto come martina', ''),
(17, 'Milano', '', 'www.ristoranteilnodo.it', '', 'Il nodo è un Ristorante sardo che nasce a Milano nel 1999 in zona di Porta Vittoria, precisamente in via pietro Calvi.\r
Venite a provare le nostre specialità di Pesce.', 'Milano, via Pietro Calvi Ristorante il Nodo Ristorante di pesce milano Il Nodo Ristorante di pesce milano pesce Milano Milano pesce Ristorante il nodo milano ristorante il nodo Milano specialita'' di pesce\r\n'),
(28, '', 'Roma', 'www.ristoranteginza.com', '', 'Ginza e Ginza Gold | Ristorante Giapponese Roma | \r
Ristorante giapponese Ginza: via E. Filiberto 251 - Roma.', 'Roma via Barberini Ristornate giapponese Roma Roma Sushi Ristorante di sushi Roma ristorante di sushi a roma Ristorante specialita'' Sushi Roma Ristorante specialita'' di Sushi a Roma Ristorante Ginza e Ginza Roma,via Barberini Roma, via Barberini Ristorante Ginza e Ginza Ristorante Giapponese Roma Ristorante Sushi Roma Ristorante Giapponese');
Percortesia sto impazzendo qualcuno mi spiega cosa sbaglio ..