Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Database giocatori

  1. #1

    Database giocatori

    Salve a tutto vorrei fare un archivio storico con tutte le partite e i giocatori della mia squadra del cuore. Ho tutti i dati (veramente tanti) su un file excel vorrei trasferire tutti questi dati sul database mysql e fare uno script dove mi visualizza le tabelle dei giocatori, partite ecc magari ordinandoli secondo alcuni criteri. Qualche info a riguardo? Premetto che sono un novellino di php ma non uno sprovveduto. Ringrazio anticipatamente per le risposte.

  2. #2
    Però dovresti dirci di preciso che cosa ti serve, ossia:
    - se hai bisogno di trasferire i dati che hai su excel, convertendoli per il database mysql
    - se hai bisogno di supporto per scrivere il codice PHP

    comunque, siccome non so che tipo di pagina PHP vuoi realizzare, posso solo darti una mano su come trasferire i dati da xls a mysql.
    In genere ricreo su MySQL una tabella identica a quella di excel, lo faccio con PHPMyAdmin, e provo a fare un inserimento mostrando il codice che PHPMyAdmin crea. Fatto ciò prendo la parte di codice fino a:

    codice:
    INSERT INTO my_tab ('giocatore', 'goal', 'assenze', 'partite') VALUES ('
    apici compresi, quindi incollo tutto sulla tabella di excel creando una colonna vuota prima dell'inizio e una colonna a separare ogni campo. in questo modo:

    prima dell'operazione su excel ho:

    codice:
     ___|     A     |  B  | C | D  |
    | 1 | nome_gioc |  2  | 5 | 15 |
    | 2 | nome_gioc |  2  | 5 | 15 |
    | 3 | nome_gioc |  2  | 5 | 15 |
    | 4 | nome_gioc |  2  | 5 | 15 |
    invece dopo avrò:

    codice:
     ___||               A               |     B     |   C  | D |  E   | F |  G  |
    | 1 | INSERT INTO my_tab VALUES (... | nome_gioc | ', ' | 2 | ', ' | 5 | '); |
    | 2 | INSERT INTO my_tab VALUES (... | nome_gioc | ', ' | 2 | ', ' | 5 | '); |
    | 3 | INSERT INTO my_tab VALUES (... | nome_gioc | ', ' | 2 | ', ' | 5 | '); |
    | 4 | INSERT INTO my_tab VALUES (... | nome_gioc | ', ' | 2 | ', ' | 5 | '); |
    è importante che nell'ultima colonna ci sia ');
    in questo modo una volta finito potrai esportare il tutto come CSV e il risultato sarà un file di testo simile:

    "INSERT INTO my_tab ('giocatore', 'goal', 'assenze') VALUES ('";"nome_gioc";"','"2";"','";"1";"');"
    "INSERT INTO my_tab ('giocatore', 'goal', 'assenze') VALUES ('";"nome_gioc";"','"2";"','";"1";"');"
    "INSERT INTO my_tab ('giocatore', 'goal', 'assenze') VALUES ('";"nome_gioc";"','"2";"','";"1";"');"
    "INSERT INTO my_tab ('giocatore', 'goal', 'assenze') VALUES ('";"nome_gioc";"','"2";"','";"1";"');"
    "INSERT INTO my_tab ('giocatore', 'goal', 'assenze') VALUES ('";"nome_gioc";"','"2";"','";"1";"');"

    a questo punto ti basterà editare il file eliminando automaticamente i caratteri " e ; per avere un file SQL pronto per poter essere importato in MYSQL.

    L'operazione è un pò macchinosa, ma usando i riempimenti automatici, il copia incolla e la sotituzione automatica, non dovrebbe essere lunghissima.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    ti ringrazio per la risposta, mi 6 stato di grande aiuto. Si in pratica ho un file excel di ben 2MB purtroppo ci sono tutte le partite e i giocatori che hanno militato nella squadra dal 1912 . Adesso provo e spero non mi diventi molto lungo.

  4. #4
    Allora ho salvato il file excel in csv e mi divide i valori delle varie colonne con un ; . a questo punto ho creato uno script in php che mi legge questo file csv e preleva i dati ho utilizzato questi 2 comandi:

    $linea = fgets($fp,4096);

    $dato = explode($separatore,$linea);

    in questo modo con il comando fgets leggo le linee del file con explode mi fermo a leggere fino a $separatore (che ho settato un precedenza con poi creo tante variabili quante sono le colonne del file in excel (lo so cosi devo modificarmi per ogni tabella lo script) e gli assegno per ognuna il valore di $dato, esempio:
    $colonna1 = $dato[0];
    $colonna2 = $dato[1];
    ecc
    ecc
    il tutto dentro a un ciclo while che finisce quando il file da leggere è finito.

    Dopo ho salvato le variabili $colonna nel database.

    Mi funziona tutto mi salva i dati al posto giusto sul database solo che non capisco il perche' nel dato della prima colonna (quindi il primo) e nel dato dell'ultima colonna me li salva con delle "davanti e "dietro esempio:


    col1 col2 col3 col4
    "id giocatori partite gol"

    vorrei far si che i dati me li salvasse senza quelle " nel primo e nell'ultimo dato qualcuno sa cosa possa essere?

  5. #5
    ho risolto utilizzando questo comando ereg_replace cambiado le "

  6. #6
    sto facendo anche io lo stesso.
    mi saltano fuori alcuni problemi nel passaggio dei dati al db:

    1)mi copia a volte una linea vuota

    2)i dati sono trasferiti con un altro ordine[problema irrilevante]

    3)quando cancello un file da phpadmin mi compare questa scritta:
    "DELETE FROM `provainsert` WHERE CONVERT( `nome` USING utf8 ) = 'mario' AND CONVERT( `cognome` USING utf8 ) = 'rossi\r\n' LIMIT 1 ;" mi pare un po' strana.

    4)a volte anche se seleziono tutti i dati da cancellare (in phpadmin)me ne restano sempre ancora due!non capisco....

    nessuno per caso sa il motivo di qualcuno di questi errori?
    soprattutto del punto 3...

    il mio codice è questo:
    codice:
    $separatore = ";";
    
    $handle = fopen("file.csv", "r");
    while (!feof($handle)) {  
    
      $linea = fgets($handle,4096);
    
     
      $dato = explode($separatore,$linea); 
      $nome = $dato[0];
      $cognome = $dato[1]; 
      
      $sql   = "INSERT INTO provainsert(nome, cognome)";
      $sql  .= "VALUES( '$nome', '$cognome')";
     }
     
    
    fclose($handle);

  7. #7
    ho appena scoperto, sempre spulciando nel forum, che c'è un modo molto più semplice per importare un file excel in phpmyadmin...
    basta convertirlo in csv e poi importarlo direttamente in phpmyadmin attraverso il link in basso a sx "Inserisci un file di testo nella tabellaInserisci un file di testo nella tabella".


    così non ho più i problemi di spazi vuoti e delete non riusciti.



    EDIT: inpratica sto usando LOAD DATA LOCAL INFILE
    EDIT:se aggiugno due file, nella stessa tabella, e poi seleziono tutto e dico elimina, mi elimina solo i file dell'ultima tabella aggiunta.devo fare di nuovo seleziona tutto e poi elimina per eliminare tutto.

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.