Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. lettura file .txt e inserimento in tabella mysql
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • F
      fabiettoko User • ultima modifica di

      lettura file .txt e inserimento in tabella mysql

      ciao a tutti,
      premesso che è da poco che studio php, ho un problema nel riuscire a fare una funzione che legga un file.txt e aggiunga x ogni separatore | il campo nella tabella del database mysql.
      chi mi può aiutare?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • marcocarrieri
        marcocarrieri ModSenior • ultima modifica di

        Intendi una cosa del genere?
        Un file file.txt strutturato nel seguetne modo?

        campo1|campo2|campo3
        alto1|altro2|altro3

        E per ogni riga fare un inserimento in database dei 3 campi?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • F
          fabiettoko User • ultima modifica di

          esatto! 🙂

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • marcocarrieri
            marcocarrieri ModSenior • ultima modifica di

            Hai gia i nomi dei campi/colonne e il nome della tabella e la connessione cosi magari partiamo da quello.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              fabiettoko User • ultima modifica di

              mi basta un esempio, poi riesco ad adattarlo.
              un esempio di tabella come: tabella1 con id titolo descrizione
              grazie mille

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • marcocarrieri
                marcocarrieri ModSenior • ultima modifica di

                Non posso testare il codice quindi chiedo scusa per gli errori.

                [php]
                <?php
                $percorsoFile="c:/file.txt";
                if (!$p_file = fopen($percorsoFile,"r"))
                {
                echo "Percorso file errato o file inesistente";
                }
                else
                {
                while(!feof($p_file))
                {
                $linea = fgets($p_file, 255);
                list($tmpId, $tmpTitolo, $tmpDescrizione) = split("|", $linea );
                echo "$tmpId - $tmpTitolo - $tmpDescrizione<BR>";
                }
                fclose($p_file);
                }
                ?>
                [/php]Cosi stampa quello che ti aspetti?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  fabiettoko User • ultima modifica di

                  mi da errore

                  Warning: split() [funcion.split]: REG_EMPY

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • marcocarrieri
                    marcocarrieri ModSenior • ultima modifica di

                    Forse perchè | è un operatore privato ... puoi delimitare le stringhe da un altro carattere?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • F
                      fabiettoko User • ultima modifica di

                      ok, sostituito | con : e funziona, mi stampa il tutto,
                      ora come faccio a farlo inserire nella tabella tabella1 con 3 campi?
                      Grazie

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • marcocarrieri
                        marcocarrieri ModSenior • ultima modifica di

                        Attento che se nella descrizione hai un testo del tipo Ciao, presento il tutto: ....
                        Corri il rischio che vada male la funzione.
                        Io userei questo carattere ~

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • F
                          fabiettoko User • ultima modifica di

                          ok,
                          grazie per il suggerimento

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • marcocarrieri
                            marcocarrieri ModSenior • ultima modifica di

                            Potresti inserire subito dopo il comando list.
                            Questo.

                            [php]
                            $connessione = mysql_connect("localhost","nick","password");
                            if (!$connessione )
                            {
                            die("Non riesco a connettermi");
                            }
                            mysql_select_db("nomeDatabase", $connessione );
                            mysql_query("INSERT INTO NomeTabella(ID,Titolo,Descrizione) VALUES ('$tmpID', '$tmpTitolo', '$tmpDescrizione')");
                            mysql_close($connessione );
                            [/php]

                            Se va il tutto si potrebbe spostare fuori magari l'apertura e chiusura del database.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • F
                              fabiettoko User • ultima modifica di

                              ottimo ora funziona! 🙂
                              una domanda nel caso ci sono già dei dati uguali li duplica?
                              grazie, veramente!

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • marcocarrieri
                                marcocarrieri ModSenior • ultima modifica di

                                Dipende dalle chiavi che hai settato nella tua tabella, potresti mettere ad esempio che il nick non sia uguale quindi unico.

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • F
                                  fabiettoko User • ultima modifica di

                                  grazie mille!

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • marcocarrieri
                                    marcocarrieri ModSenior • ultima modifica di

                                    Di niente e mi raccomando, attenzione alle maiuscole qua nel forum.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • F
                                      fabiettoko User • ultima modifica di

                                      ok,
                                      intanto ho aperto un'altra discussione su un problema che mi porto da un po' di giorni, se puoi aiutarmi te ne sarei veramente grato.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      Caricamento altri post
                                      Rispondi
                                      • Topic risposta
                                      Effettua l'accesso per rispondere
                                      • Da Vecchi a Nuovi
                                      • Da Nuovi a Vecchi
                                      • Più Voti