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

    elaborazione dati CSV e ritorno in tabelle JSON

    Salve a tutti avrei un problema... sto provando a risolvere questo esercizio... ma la confusione è troppa ... qualcuno potrebbe aiutarmi... grazie!!!

    <<Si vuole costruire un parser composto da un client (in javascript) ed un server (in PHP).
    Il server PHP deve elaborare dei dati in formato CSV memorizzati nel file “studenti.csv”,
    aventi questa struttura:
    nome, cognome, data-di-nascita, matricola, corso-di-laurea

    nome, cognome, matricola sono campi alfanumerici di massimo 16 caratteri.

    Il corso-di-laurea può essere di 2 tipi: “Triennale”, “Magistrale”. data-di-nascita è nel formato GG-MM-AAAA.
    Il client javascript deve richiedere questi dati attraverso una chiamata AJAX, che deve fornire il
    nome del file da elaborare.
    Il contenuto dei campi, dopo essere stato validato, deve essere incluso in un JSON di ritorno,
    secondo il seguente formato:
    {"results": [[nome, cognome, data-di-nascita, matricola, corso-di-laurea], ....]}
    I dati così ottenuti vanno inclusi all'interno di 2 tabelle, in base al corso-di-laurea, e
    successivamente ordinati in base alla matricola.>>


    ecco il mio lavoro fino ad ora da rivedere...

    <?php
    function leggi_cvs ($filepath)
    { $filepath= 'studenti.cvs';
    $rowlength=6;
    $row= array();

    if (($handle=fopen("$filepath", "r")) !== FALSE)

    while (($row=fgetcvs($handle)) !== FALSE)

    { for ($i=0; $i<$rowlength; $i++
    {$rows[]= $row;}
    }
    fclose($handle);}

    return $rows;}

    function validate_cvs ($rows)
    { return prev_match ("/^[a-z0-9]{0,16}$/i", //stringhe da 0 a 16 caratteri alfanumeric
    "/^[a-z0-9]{0,16}$/i",
    "/^[a-z0-9]{0,16}$/i",
    "/^[a-z0-9]{0,16}$/i",
    "/\bBasic\b|\bNormal\b|\bFull\b/", //sole stringhe Basic, Normal, Full "/^(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\d\d$/", //stringhe del tipo dd-mm-aaaa
    )

    echo '{"results":'.json_encode($rows).'}';
    php?>;}




    qualcuno potrebbe correggere gli errori ??? grazie...

  2. #2
    Se i file sono di tipo csv, si presume ci sia un separatore di colonna, quindi perchè non utilizzare la funzione fgetcsv()?
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    si c'è solo errore di sintassi la funzione è fgetcsv(), nel ---> while (($row=fgetcvs($handle)) !== FALSE

  4. #4
    Si è vero non avevo viso che già la utilizzavi, hai chiuso male l'ultima parentesi tonda
    Codice PHP:
    while (($row=fgetcvs($handle)) !== FALSE 
    diventa
    Codice PHP:
    while (($row=fgetcvs($handle) !== FALSE
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

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.