Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    56

    per migliorare il mio motore di ricerca

    Sono finalmente riuscito a costruirmi un motore di ricerca che però ha bisogno di qualche miglioria. In giro ho cercato risposte ma non sono riuscito ad adattarle.
    Vorrei ottenre 2 cose:

    1) il mio motore trova una sola parola alla volta (casa) e vorrei che funzionasse anche se uno inserisce + parole (casa albero)

    2) vorrei che apparissero solo 10 risultati di ricerca per pagina

  2. #2
    e il tuo motore sarebbe??

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    56
    :-)OPSS!

    if (isset($query) AND ($query != ""))
    {


    $result = sql_query("select busid, name, address1, city from PG_business where name LIKE '%$query%' OR address1 LIKE '%$query%' OR city LIKE '%$query%'order by paidad DESC", $dbi);
    $result2 = sql_query("select infopageid from PG_infopage where pagetext LIKE '%$query%' order by infopageid DESC", $dbi);
    echo $result2['name, address1, city'];

    list($ency_title) = sql_fetch_row($result2, $dbi);

    OpenTable();
    echo "<center>RISULTATI PER IL TERMINE." $query</center>


    "
    ."<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" class=\"tabletable\" width=\"95%\" align=\"center\"> <tr> <td class=\"tableHeaderTD\">[B]RISULTATI NEL TITOLO</a>
    </tr></table>";
    if (sql_num_rows($result, $dbi) == 0) {
    echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" width=\"95%\" align=\"center\"> <tr> <td>NESSUN RISULTATO</a></tr>
    </table>";
    } else {
    while(list($busid, $name, $address1, $city) = sql_fetch_row($result, $dbi)) {
    echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" width=\"95%\" align=\"center\"> <tr> <td ><big>&middot</big><a href=\"modules.php?op=modload&name=Aziende&file=in dex&func=displayinfo&bid=$busid\">$name
    $address1 $city

    </a></tr></table>";
    }

  4. #4
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Scusa ma dal cod non si capisce... usi MySql?

    Presumendo di si...

    la seconda risposta e' semplice, metti un LIMIT 0,10 in fondo alla query (o meglio puoi gestire il valore 0 con una variabile di modo da crearti dinamicamente il munero di pagine giusto)

    per ottimizzare la ricerca prova a dare un occhio agli indici di ricerca fulltext di MySql... come te la cavi con l'amministrazione del db?!?

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    56
    si uso MySql
    grazie per il suggerimento, così mi da solo 10 risultati nella ricerca ma come faccio a visualizzare i risultati da 11 a 20?

    e per il quesito precedente (il mio motore trova una sola parola alla volta (casa) e vorrei che funzionasse anche se uno inserisce + parole (casa albero))
    come potrei fare?
    grazie :-)

  6. #6
    vedi il mio, se hai problemi posta
    debian:~$ uname -r
    2.6.18-1-686
    debian:~$

    Il quiz manager è nato!!! visitate http://shenk.altervista.org !!

  7. #7
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    come ti dicevo...

    tramite variabili dovresti fare in modo di avere la giusta LIMIT per la pagina richiesta (LIMIT 10, 10 per esempio ti da i risultati da 11 a 20)

    X la ricerca di piu' parole l'unico metodo semplice che mi viene in mente e' quello che ti ho gia' accennato, ovvero gli indici di ricerca fulltext settati direttamente nei campi del DB (non posso spiegarti tutto da qui, prova con la documentazione di MySql)

    Ciao di nuovo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.