Visualizzazione risultati 1 fino 6 di 6

Discussione: estrazione dati da file???

  1. #1
    Guest

    Smile estrazione dati da file???

    dopo diverse ricerche ho capito come si fa a scrivere su file con la 'a' al posto della 'w' in modo da non cancellare quello che era stato scritto in precedenza sul file di testo però quando vado ad estrarre i dati mi serve prendere solo il 1° nome oppure il 2° etc.

    Mi spiego meglio ho creato un form e quando un utente scrive il proprio nome, cognome e mail, i dati vengono scritti in un file e quindi posti sulla stessa riga (fino a qui non ci sono problemi) quando li vado a estrarre voglio metterli in una tabella e quindi prenderli uno alla volta e sistemarli.
    Come si fa????

  2. #2
    Guest

    Predefinito

    basta usare il "Cerca" nel forum ;)

    oppure se hai meno fretta puoi utilizzare un buon ciclo foreach(), l'array che ricavi aprendo il file e la funzione explode ^^
    Ultima modifica di comunitavirtuali : 01-10-2008 alle ore 07.18.48

  3. #3
    Guest

    Predefinito

    Ti conviene salvare i vari dati usando una stringa divisoria.

    Esempio:
    Aggiungi nel file i dati Giorgio, de Michelis e gdmichelis@libero.it (dati esemplificativi).
    Puoi decidere che come stringa divisoria vuoi usare il carattere | (si ottiene premendo shift e il tasto prima dell'1) per ogni record e , (virgola) per ogni campo e scrivi nel file cosi che nel file di testo ci sarà questo:

    Giorgio,de Michelis,gdmichelis@libero.it|

    Facendo così la prossima volta che scriverai il file ci sarà ad esempio questa situazione:


    Giorgio,de Michelis,gdmichelis@libero.it|Francesco,Tivoli,fti voli@gmail.it|

    Quindi quando dovrai ad andare ad inserire nel database potrai usare tranquillamente il foreach e la funzione explode con un codice del genere:

    Codice PHP:
    <?
    //includo il file di connessione al database
    include "connect.php";
    //specifico e apro il file che devo leggere
    $file="utenti.txt";
    $open=fopen($file,'r');
    $contenuto=fread($open,9000);
    fclose($open);
    //divido la stringa recuperata in un'array composto da tutte le stringhe interposte tra i |
    $contenuto=explode('|',$contenuto);
    foreach(
    $contenuto as $campi){
    //divido ulteriormente i campi andandomi a recuperare ogni singolo dato
    $campi=explode(',',$campi);
    $nome=$campi[0];
    $cognome=$campi[1];
    $mail=$campi[2];
    $sql="INSERT INTO utenti(nome,cognome,mail) VALUES ('$nome','$cognome','$mail')";
    $query=mysql_query($sql) or die (mysql_error());
    }
    ?>
    E dovrebbe funzionare alla perfezione.

  4. #4
    Guest

    Predefinito

    non ho capito a che servono quelle 2 righe di codice che parlano di sql io devo visualizzare una tabella con dentro i vari nomi cognomi etc. non mettere i dati in un db. comunque grazie: adesso ho imparato questi nuovi comandi tipo explode foreach etc...

  5. #5
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Aveva capito che volessi memorizzare il tutto in una tabella SQL, non in una tabella html.
    Puoi sostituire quelle righe con delle stampe
    Ciao!


    -- Aut Roma Aut Nihil!

  6. #6
    Guest

    Predefinito

    ok ciao e grazie!!!!!!!!!

Regole di scrittura

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