Visualizzazione risultati 1 fino 9 di 9

Discussione: database testuale

  1. #1
    targetwebdesign non è connesso Neofita
    Data registrazione
    07-03-2013
    Messaggi
    26

    Predefinito database testuale

    Buonasera,
    vorrei leggere e visualizzare a video "presepi.txt"
    con $nome e $telefono separati e con una classe in modo da
    formattarli con i css
    Grazie

    <?php
    $textfile = fopen("presepi.txt", "a");
    $nome = $_POST['nome'];
    $telefono = $_POST['telefono'];
    $datiform = $nome . "|" . $telefono . "\n";
    fwrite($textfile, $datiform);
    ?>

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Qual'è il problema che incontri, esattamente?

    Perché non usare SQLite anziché gestire manualmente una base di dati testuale?

  3. #3
    targetwebdesign non è connesso Neofita
    Data registrazione
    07-03-2013
    Messaggi
    26

    Predefinito

    Vorrei visualizzare con la funzione echo il $nome e $telefono del file presepi.txt

    Non uso SQLite perchè ancora non lo conosco

    Grazie

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    È più difficile in questo modo. Molto più facile con sqlite.

    Comunque, dovresti leggere ad esempio una riga alla volta nel file e lavorare con le funzioni delle stringhe per acquisire separatamente nome e telefono, ad esempio dovresti usare strpos() per trovare il carattere separatore "|", poi prelevare quel che si serve con substr().

    Ciao!

  5. #5
    targetwebdesign non è connesso Neofita
    Data registrazione
    07-03-2013
    Messaggi
    26

    Predefinito

    <?php

    $textfile = fopen("presepi.txt", "r");
    $righefile = '';

    while ($rigafile = fgets($textfile,1024)) {
    $campiriga = explode("|", $rigafile);
    $cnome = $campiriga[0];
    $ctelefono = $campiriga[1];
    $righefile = $righefile . $cnome . $ctelefono . "\n";
    }
    echo $righefile;
    fclose($textfile);
    ?>


    Ho provato questo ma non riesco a visualizzare con la funzione echo la variabile $nome e $telefono separate

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    In che senso non riesci a visualizzare? Cosa stampa quello script?

    Ciao!

  7. #7
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Non specificare il numero di byte da leggere se vuoi leggere una riga, quello è il comportamento di default. Quando usi explode, non è detto che il risultato sia un vettore con 2 elementi: se scegli questa strada del "fare a mano", devi anche realizzare a mano tutti i controlli!
    Codice PHP:
    function get_people($filepath) {
    $data = array();
    $fh = fopen($filepath, "r");

    if (!
    $fh) {
    return
    $data;
    }

    while ((
    $line = fgets($fh)) !== false) {
    $fields = explode("|", $line);
    if (
    count($fields) >= 2) {
    $data[] = array(
    'nome' => $fields[0],
    'teleono' => $fields[1]
    );
    }
    }

    fclose($fh);

    return
    $data;
    }
    Puoi quindi processare/stampare i dati come vuoi:
    Codice PHP:
    $persone = get_people("presepi.txt");
    foreach (
    $persone as $persona) {
    echo
    $persona['nome'] . " - " . $persona['telefono'];
    }

  8. #8
    targetwebdesign non è connesso Neofita
    Data registrazione
    07-03-2013
    Messaggi
    26

    Predefinito

    Grazie per le risposte mzanella.
    Vorrei porre una domanda. Stò facendo un videocorso di php avanzato
    e la prima parte parla di database testuali. Questo argomento è
    molto importante, o posso andare avanti.
    Grazie

  9. #9
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Stò facendo un videocorso di php avanzato
    e la prima parte parla di database testuali. Questo argomento è
    molto importante, o posso andare avanti.
    A mio modesto parere... dipende!
    Se per "database testuali" si intende semplicemente lettura e scrittura su file, credo valga la pena approfondire. Si tratta di un argomento classico nella programmazione, a tutti prima o poi capita di leggere o scrivere un file o, più in generalre, un handler/canale/socket/pipe/stream. Però, in questo caso, affronta la materia con la consapevolezza che lo stai facendo per esercizio, nella realtà non realizzerai mai una base di dati con i file di testo.

Regole di scrittura

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