Visualizzazione risultati 1 fino 11 di 11

Discussione: Cerco script ricerca file

  1. #1
    Guest

    Arrow Cerco script ricerca file

    Ciao a tutti,
    sto cercando uno script php x fare una ricerca in un file:
    cioe' nel file db.txt ci sono delle info x ogni riga.
    io in un box cerco una parola e lo script mi riposta tutta la riga...

    Si puo' fare?
    Ciao!

  2. #2
    Guest

    Predefinito

    certo che si può fare!!

    crea un file così e chiamalo cerca.php

    Codice:
    <?php
    $key=$_POST[key];
    
    $file=file("db.txt");
    $arr_t=array();
    
    //cerco la chiave all'interno del file
    
    foreach($file as $v){
        $arr=explode(" ",$v);
        if(in_array($key,$arr)){
            $arr_t[]=$v;   
        } 
    }
    
    //stampo tutte le righe contenenti la chiave cercata
    
    foreach($arr_t as $v_t){
        echo "$v_t<br>\n";
    }
    
    ?>

    e poi crei un file con il box in cui inserire la chiave da ricercare:

    Codice:
    <form action="cerca.php" method="post">
    <input type="text" name="key">
    <input type="submit" value="cerca">
    </form>

    così dovrebbe andare..

    ciao

  3. #3
    Guest

    Predefinito

    No, non funziona...
    il risultato della ricerca e' : <html><body></body></html>...

    ciao

  4. #4
    Guest

    Predefinito

    come no!!

    l'ho appena provato e va..

    cmq nel file db.txt devi lasciare uno spazio tra una parola e l'altra..

    prova un po..

    ciao

  5. #5
    Guest

    Predefinito

    Prova qui'

    ho fatto log.php con il box di ricerca,
    cerca.php con lo script
    e log.txt con le parole

  6. #6
    Guest

    Predefinito

    in log.txt dovrebbe esserci scritto qlkosa tipo:

    parola1 parola2 parola3 parola4

  7. #7
    Guest

    Predefinito

    non funziona perchè hai utilizzato il tasto "tab" per separare le chiavi..
    se avessi utilizzato semplicemente la barra spaziatrice funzionerebbe..

    comunque funziona con questo codice:
    Codice:
    <?php
    $key=$_POST[key];
    
    $file=file("db.txt");
    $arr_t=array();
    
    //cerco la chiave all'interno del file
    
    foreach($file as $v){
        $arr=explode("\t",$v);
        if(in_array($key,$arr)){
            $arr_t[]=$v;   
        } 
    }
    
    //stampo tutte le righe contenenti la chiave cercata
    
    foreach($arr_t as $v_t){
        echo "$v_t<br>\n";
    }
    
    ?>
    in pratica ho sostituito lo spazio " " con il carattere di tabulazione "\t" dentro l'explode.. dipende da cosa vuoi usare per separare le chiavi..



    ciao
    Ultima modifica di jarkless : 20-11-2005 alle ore 16.52.49

  8. #8
    Guest

    Predefinito

    Ok, non me ne ero accorto di aver usato i tab... a me va bene con i spazi, ora funziona!
    C'e' solo un problema come puoi vedere da log.txt le parole sono molto spaziate ma il risultato mi da una spaziatura minima... perche'?

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovresti trasformare gli spazi in &nbsp;
    Codice PHP:
    foreach($arr_t as $v_t){
    $v_t=str_replace(' ', '&nbsp;', $v_t);
    echo
    "$v_t<br>\n";
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    Guest

    Predefinito

    ti da una spaziatura minima perchè in html anche se inserisci più spazi ne vale solo uno.. per inserire ulteriori spazi devi utilizzare &nbsp; per ogni spazio in più..


    sostituisci l'ultima parte dello script con questa:

    Codice:
    //stampo tutte le righe contenenti la chiave cercata
    
    foreach($arr_t as $v_t){
        $v_t=str_replace(" ","&nbsp;",$v_t);
        echo "$v_t<br>\n";
    }

    prova un po..

    ciao


    EDIT:

    funcool m' hai fregato x un minuto..
    Ultima modifica di jarkless : 20-11-2005 alle ore 17.09.52

  11. #11
    Guest

    Predefinito

    Ok funzionaaaaa!

    Grazie a tutti x l'aiuto!

    Ciaooooo!
    Ultima modifica di phpone : 20-11-2005 alle ore 17.17.12

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •