Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    SELECT motore di ricerca

    Salve a tutti/e,

    sto cercando di crearmi un modestissimo motore di ricerca e riesco a trovare la parola che cerco tramite il form con questa query:

    $selezione=" SELECT titolo, testo LIKE '%$testo%' FROM tabella";

    Vorrei però poter visualizzare non solo la parola, ma anche le 2 o 3 righe che la precedono e la seguono!
    Qual'é la query dunque che devo utilizzare?

    O forse dipende da come stampo il risultato??


    :master:

    Grazie.
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    Re: SELECT motore di ricerca

    Originariamente inviato da scudobravo
    Salve a tutti/e,

    sto cercando di crearmi un modestissimo motore di ricerca e riesco a trovare la parola che cerco tramite il form con questa query:

    $selezione=" SELECT titolo, testo LIKE '%$testo%' FROM tabella";

    Vorrei però poter visualizzare non solo la parola, ma anche le 2 o 3 righe che la precedono e la seguono!
    Qual'é la query dunque che devo utilizzare?

    Grazie.
    Ok, prova con qualcosa di questo tipo

    codice:
    $sql=" SELECT titolo, testo from XXX where testo LIKE '%$testo%'";
    $rs=mysql_query($sql);
    while ($row=mysql_fetch_array($rs)) {
    $testo=split(" ",$row['testo'];
    
    /* qui fai una funzioncina che ti dice la posizione della parola cercata, mettiamo che il valore sia immesso poi nella variabile $NUMERO */
    
    echo "[b]".$row['titolo']."[b]
    ";
    echo "...".$testo[$NUMERO-3]. " ".$testo[$NUMERO-2]." ".$testo[$NUMERO-1]." ".$testo[$NUMERO]." ".$testo[$NUMERO+1]." ".$testo[$NUMERO+1]."....";
    echo "
    
    ";
    
    }
    Guybrush Threepwood

  3. #3
    Mi da Parse error: parse error, unexpected ';' in.... su questa riga:

    $testo=split(" ",$row['testo'];

    Che c'é di sbagliato?
    En la habana hay una pila 'e locos!

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da scudobravo
    Mi da Parse error: parse error, unexpected ';' in.... su questa riga:

    $testo=split(" ",$row['testo'];

    Che c'é di sbagliato?
    manca l'ultima parentesi...

    cmq il codice che ti ho fatto devi sistemarlo... l'ho scritto velocemente, prendilo come idea
    Guybrush Threepwood

  5. #5
    È che non sono un mostro di php e non so esattamente a cosa serva la funzione split(" ", $row['testo']) e neppure la riga successiva $testo[$NUMERO-3] o $testo[$NUMERO-2].

    En la habana hay una pila 'e locos!

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    Re: Re: SELECT motore di ricerca

    Prova questo:

    codice:
    $sql=" SELECT titolo, testo from XXX where testo LIKE '%$PAROLA%'";
    $rs=mysql_query($sql);
    while ($row=mysql_fetch_array($rs)) {
    $testo=split(" ",$row['testo']);
    
    $NUMERO=array_search($PAROLA, $testo);
    
    echo "[b]".$row['titolo']."[b]
    ";
    echo "...".$testo[$NUMERO-3]. " ".$testo[$NUMERO-2]." ".$testo[$NUMERO-1]." ".$testo[$NUMERO]." ".$testo[$NUMERO+1]." ".$testo[$NUMERO+1]."....";
    echo "
    
    ";
    
    }
    in questo modo:
    - $PAROLA è cosa l'utente ha cercato.
    - $NUMERO è la posizione della parola
    - e nell'ultima parte ti stampo la parola cercata con le precedenti 3 e successive 2
    Guybrush Threepwood

  7. #7
    Funziona! L'unico problemino é che mi da errore, qualora la parola non sia seguita o preceduta da altre....
    sai come posso risolvere?

    Grazie mille!
    En la habana hay una pila 'e locos!

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.