motore (motorino) di ricerca

Sargon

Utente Attivo
22 Mar 2012
45
0
0
Gentilissimi vi posto il mio codex php

PHP:
<?php

$key = $_POST['key'];
class Search 
{ 
    #CONFIGURA 
    #Parametri ricerca 
    var $fulltext = "author,title"; 
    var $table = "prova"; 
    #parametri db 
    var $host =  "";
    var $password = "";
    var $user = "";
    var $db = "";
    #
    var $pf = "f"; 
    #
    #
    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.<br>MySql risponde: " . mysql_error() . "<br>Il codice errore é:" . mysql_errno()); 
             
            @mysql_select_db($this->db, $this->conn) or die ("Impossibile connettersi al database $this->db.<br>MySql risponde: " . mysql_error() . "<br>Il codice errore é:" . mysql_errno()); 
				// 
mysql_set_charset('utf8'); // 
        } 

        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(); 

   $id=$row['author'];
   $author=$row['title'];





 while ($row = mysql_fetch_array($search->res)) 
 {   
echo "<div>";
echo "<br>";
echo "<font face=\"Arial\" size=\"2\">";
echo "<table width=\"640\" align=\"justify\" bgcolor=\"#FAFAD2\" cellpadding=\"3\" >";
echo "<tr>";
echo "<td>";
echo "<b>";
echo "Id:";
echo "</b>";
echo "&nbsp;";
echo $row['author'];
echo "&nbsp;";
echo $row['title'];
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";

}



 
 ?>

1) domanda..... vorrei porre un echo informativo..... nel caso che la ricerca effettuata non abbia prodotto nessun risultato.
ho provato a smanettare un pochetto il codice... ma non trovo soluzione...
se mi potete indirizzare un attimo ve ne sarei grato!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
esattamente come non so dirti perchè la programmazione ad oggetti mi sta ul ca..o.
comunque dopo la select verifica il numero di record estratti se è 0 dai il messaggio altrimenti prosegui con tutto l'ambaradan
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
pui aggiungere una prorietà e un metodo alla classe che ti restitusce il numero di record trovati

PHP:
var $num;
function retNum() {
        $this->num = mysql_num_rows($this->res);
        return $this->num;
    }
e poi lo richiami prima di mostrare i risultati
PHP:
$search = new Search($key);
$search->GetResource();
if ($search->retNum() > 0) {
    $id = $row['author'];
    $author = $row['title'];
non ho testato ma piu o meno dovrebbe essere cosi
come consigliato da tutii passa a mysqli o pdo al piu presto
 

Sargon

Utente Attivo
22 Mar 2012
45
0
0
io sono uno che si "arrangia", aimè non sono del settore, e si vede ... anche se vorrei imparare....per rendere questo motorino di ricerca il più preciso possibile cosa mi consigliereste di fare? avete qualcosa da postarmi su cui potermi basare? :faraone:
 
Discussioni simili
Autore Titolo Forum Risposte Data
L PHP motore di ricerca nel sito PHP 1
F Visualizzazione motore di ricerca SEO e Posizionamento 2
E Problema motore di ricerca FULL_TEXT PHP 0
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
D [ASP] Motore di ricerca interno su 2 tabelle Classic ASP 3
A [PHP] Problema paginazione motore di ricerca PHP 48
V motore di ricerca e voci link Ajax 2
ANDREA20 [HTML] crea motore di ricerca HTML e CSS 1
A [HTML] motore di ricerca interno HTML e CSS 12
C Motore di ricerca Personalizzato di google HTML e CSS 1
N Motore di ricerca con MATCH e AGAINST PHP 1
I Motore di ricerca php PHP 2
O Motore di ricerca interno PHP 4
Devil-94 Motore di ricerca con google e javascript Javascript 4
M [CERCO] creare un motore di ricerca Offerte e Richieste di Lavoro e/o Collaborazione 4
M aiuto per motore di ricerca PHP 0
StarFish Eventi da tastiera su motore di ricerca JS Javascript 1
M motore di ricerca complesso php PHP 2
O sfruttare informazioni prese da altre pagine internet o il motore di ricerca di un'altro sito PHP 0
L Problema META NAME description [MOTORE RICERCA] HTML e CSS 0
P Problemi motore di ricerca PHP 12
A [RISOLTO]Motore di ricerca PHP 23
A [RISOLTO]Motore di ricerca PHP 2
P motore di ricerca sql da <a href"..">nome</a> PHP 5
A motore di ricerca su più tabelle PHP 0
Shyson Motore di ricerca interno PHP 26
P Ajax jquery inserire un loader per motore di ricerca Ajax 2
F Creare un motore di ricerca interno al sito PHP 1
M Problemi Motore di RICERCA INTERNA NEL SITO Javascript 0
Sargon Motore di ricerca, nuovo problema PHP 3
Sargon motore di ricerca avanzato (particolare problematica) PHP 12
P Grafica originale motore di ricerca! Webdesign e Grafica 1
Sargon motore di ricerca PHP 1
A Motore di ricerca interno al sito PHP 1
F motore di ricerca su una pagina PHP 0
S Motore di ricerca interno PHP 11
Sargon Php / My sql motore di ricerca PHP 21
A Creare un motore di ricerca google PHP 5
A motore di ricerca PHP 6
A [Sql/Query] Motore di ricerca PHP 1
S Motore di ricerca con classe full text PHP 3
S problemino con motore di ricerca :( PHP 1
S Motore di ricerca con Google adsense Google AdSense 0
S Aiuto per un motore interno in xml XML 2
G script attivo di annunci ampliare motore di ricerca per regione o citta consigli PHP 4
S Creare motore di ricerca PHP 4
S Motore di ricerca nel sito PHP 6
davide1982 semplice motore di ricerca... ma non troppo! PHP 3
L Motore di ricerca per sito PHP 1
M motore di ricerca interno al sito PHP 2

Discussioni simili