Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    Primo tentativo di creare un motore di ricerca nel database!

    Ho appena cominciato a considerare l'idea di creare un piccolo e semplice motore di ricerca all'interno del mio database, una cosa semplice, con un form dove uno mette la parola e si stampano i risultati.

    Ho cominciato a seguire la guida per la ricerca fulltext su html.it ma già alla prima pagina mi sorgono delle problematiche.

    Vi riporto la query riveduta da me per la mia tabella:

    SELECT *, MATCH(titolo, articolo) AGAINST('prova') as score
    FROM notizie
    WHERE MATCH(titolo, articolo) AGAINST('prova')
    ORDER BY& score DESC;

    Non ho fatto altro(rispetto alla query originale) che inserire 'prova' e la tabella notizie. Per il resto è uguale all'esempio sull'articolo.

    Ora la mia domanda è, come cavolo si stampano i dati tirati fuori?
    Me ne sono andato per un'idea e ho provato ad infilare tutto in un a variabile e a farci un ciclo while così:

    $ricerca=mysql_query("SELECT titolo, MATCH(titolo) AGAINST('prova') AS attinenza FROM notizie WHERE MATCH(titolo) AGAINST('prova') ORDER BY attinenza DESC ");

    while($scatola=mysql_fetch_array($ricerca)){
    $titolo=$scatola['titolo'];


    echo"$titolo";
    }

    Ma niente la pagina esce bianca.Io per ora vorrei capire per lo meno i concetti piu semplici, cioè ricerca e scrittura dei dati, poi magari proseguendo con la guida farò delle correzioni o metterò altre cose che potranno essere utili, ma di base vorrei capire il semplice meccanismo di ricerca e scrittura dei dati!

    Grazie in anticipo!

  2. #2
    A livello teorico:

    Codice PHP:
    include 'conf.inc.php'// dati di connessione al database

    $query "SELECT campo1, campo2 FROM tabella_esempio";
    $proc_query = @mysql_query($query);

    if (@
    mysql_num_rows($proc_query) != 0// se vi è almeno un risultato
    {
     while (
    $res = @mysql_fetch_array($proc_query))
      {
        print 
    $res['campo1'];
        print 
    $res['campo2'];
      }
    }
    else
    {
     print 
    "Nessun risultato";

    Esistono diverse varianti di quello che ho scritto sopra, ma a livello generale faccio la query, controllo tramite mysql_num_rows che vi sia almeno un risultato e poi stampo a video il risultato.

  3. #3
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.