Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    mysql motore di ricerca

    ciao,ho trovato uno script decente su questo sito ,in php,è un motore di ricerca per il db,solo che non è ben indicizzato,ovvero se ricerco "A" mi trova tutte le parole che contengono la lettere A senza precedenze su ,per esempio,parole che inziiano per A ....

    qualcuno sa dirmi dove trovare un buono script indicizzato al massimo che ricerchi parole su campi testuali nel db?

    si può indicizzare bene con php o serve qualche altro linguaggio?

    in caso mi date un link

  2. #2
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    anzi facciamo cosi

    questo è il codice che ho trovato ma non indicizza bene i risultati

    Codice PHP:
     if ($_POST['search']){
        if (!empty(
    $_POST['keywords'])) {
          
    $searchStr $_POST['keywords'];
          if (
    ereg("^[a-zA-Z ]+$"$searchStr)) {
            
    $db connect();
            if (
    $db) {
              print 
    "<p class=\"whiteTxt\">Matches for \"$searchStr\"</p>
    "
    ;
              
    $keys explode(" "$searchStr);

              for (
    $x 0$x count($keys); $x++) {
                
    $querystr "SELECT *FROM , MATCH(zone_name) AGAINST('$key') AS attinenza      FROM ".$db_table." WHERE MATCH(zone_name) AGAINST('$key')";
                
    $result mysql_query($querystr,$db);
                if (
    $frow mysql_fetch_array($result)) {
                   
    $found true;
                   do {
                     echo 
    ''.$frow['zone_name'];
                   } while (
    $frow mysql_fetch_array($result));
                } 
                
              }
              if (!
    $found) {
                print(
    "<p class=\"result\">No matches found.
    "
    );
                
              }
              
              
                
            }
            else {
              print(
    "<p class=\"result\">Sorry but the database is unavailable at this time.</p>");
            }
          }
          else {
             print(
    "<p class=\"result\">Your search string contains illegal characters.</p>");
           }
        }
        else {
           print(
    "<p class=\"result\">You must enter a search string.</p>");
        }
      } 
    chi mi può dare una mano?

    graziee

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ragazzi nessuno può aiutarmi?

    vorrei capire se serve qualche altro linguaggio

    i risultati con questo script potrebbe andare ma non vengono ben ordinati per attinenza

    qualcuno che mi da una mano?

  4. #4
    Leggi qui e troverai tutte le risposte

    http://www.mtxweb.ch/php_learn/?p=244
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    grazie proverò sicuramente

    il problema però è che ho provato sia con LIKE sia con Match e AGAINST

    ma il risultato è sempre lo stesso,non noto differenze

    magari potresti spiegarmi la differenza dove sta ?perchè sinceramente non riesco a vederla....

    grazie mille davvero

  6. #6
    Beh, tu vuoi un ordinamento per pertinenza vero? Allora con MATCH e AGAINST nel modo boleano vedrai che funziona
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

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.