Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    45

    FILE TXT. Ricercare valore in file txt

    Ho un file TXT contenete su ogni riga nome cognome e numero di telefono. Volevo fare una paginetta con un campo compilabile dall'utente che digitando il nome o il cognome o entraabe cercasse nel file txt le righe corrispondenti e mi visualizzasse il risultato.
    E' possibile ?
    Aiutatemi per favore.

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    con la funzione file leggi riga per riga il file, con array_search cerchi il valore...

    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    45
    Scusa ma sono un po' tanto ignorante in materia, sto iniziando adesso, se puoi' mi provi a mettere giu' un esempio che ci ragiono un po' su?
    Grazie

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da tonyva
    Scusa ma sono un po' tanto ignorante in materia, sto iniziando adesso, se puoi' mi provi a mettere giu' un esempio che ci ragiono un po' su?
    Grazie
    il manuale è un'ottima fonte di esempi...tu prova a buttare giù 2 righe, ed in caso di problemi posta qua...
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    45
    Ho provato con questo script ma non riesco a capire perchè come risultato ottengo che mi legge il contenuto del txt andando a capo ad ogni linea, ma non riesco a farmi visualizzare solo il nome "MARIO" che è quello che sto cercando.

    Qualcuno mi da' una dritta su dove sbaglio?

    <?php
    $lines = file('test.txt');
    foreach ($lines as $line_num => $line) {
    echo ($line) . "
    ";
    }

    $array = array 'test.txt';
    $key = array_search('MARIO', $array); // $key = 2;
    echo $key
    ?>

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    con array_search ottieni la chiave del valore corrispondente; per visualizzare il valore devi fare:
    codice:
    echo $lines[$key];
    think simple think ringo

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    45
    Ho modificato in questo modo lo script:
    <?php
    $array=file('test.txt'); //file di testo da cui leggere
    $frase=$_POST['stringa']; //nome inserito in un modulo di una pag.htm
    $lines = file('test.txt');//legge le linee
    $key = array_search($frase, $array);//cerca la chiave
    echo $lines[$key];//mi riporta solo la chiave corrispondente
    ?>
    Ora mi cerca il valore che io scrivo nel campo modulo ma io vorrei che mi riportasse tutta la riga anche se io nel modulo scrivo solo parte di essa.
    ESEMPIO se una riga del mio file di txt è:
    MARIO ROSSI 0333-333333
    Io vorrei che cercando solo Mario rossi mi riporti come risultato :
    MARIO ROSSI 0333-3333333

    Come si puo' fare?

  8. #8
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da tonyva
    Ho modificato in questo modo lo script:
    <?php
    $array=file('test.txt'); //file di testo da cui leggere
    $frase=$_POST['stringa']; //nome inserito in un modulo di una pag.htm
    $lines = file('test.txt');//legge le linee
    $key = array_search($frase, $array);//cerca la chiave
    echo $lines[$key];//mi riporta solo la chiave corrispondente
    ?>
    Ora mi cerca il valore che io scrivo nel campo modulo ma io vorrei che mi riportasse tutta la riga anche se io nel modulo scrivo solo parte di essa.
    ESEMPIO se una riga del mio file di txt è:
    MARIO ROSSI 0333-333333
    Io vorrei che cercando solo Mario rossi mi riporti come risultato :
    MARIO ROSSI 0333-3333333

    Come si puo' fare?
    Certo, con le espressioni regolari... le ho imparate da poco, ma questa funziona a dovere...
    codice:
    <pre><?
    $ricerca = "MARIO ROSSI";
    $a = "
    MARIO ROSSI 1234567
    PIPPO PIPPA 7654321";
    preg_match_all("/$ricerca(.+)/ui", $a, $array);
    print_R($array);
    ?></pre>
    Ti spiego:
    con quella espressione regolare, tu cerchi la parola $ricerca + un numero di caratteri non definito, può anche succedere che preg_match_all trovi più risultati o solo uno, in ogni caso restituisce un array numerico, in questo caso $array. Se ti servono consigli sull'argomento posta e ti aiuterò!


  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    45
    Grazie ma non riesco a capire dove inserire questa parte di codice e come funziona. Per farlo funzionare devo trascrivere tutto il mio file txt nella variabile $a=
    Grazie

  10. #10
    Utente di HTML.it L'avatar di aserena
    Registrato dal
    Feb 2003
    Messaggi
    310
    Usa le funzioni 'file' e 'array_search' come ti ha suggerito mark..

    ciao
    La (!) è quella roba che in autunno si intristisce... perche': seccano i piselli, migrano gli uccelli, cadono i marroni, e se poi c'è anche la nebbia non si vede più un caXXo!! by Piero.mac @07/05

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.