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. trasformare file di testo in database
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • samyorn
      samyorn Consiglio Direttivo • ultima modifica di

      ma il Db si chiama NOME_DB ?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • C
        cybergiaggia User • ultima modifica di

        si, nel senso che a NOME_DB devi sostituire il vero nome che ho preferito non rendere pubblico...

        p.s.: ma ho fatto bene a crearla io la tabella?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • samyorn
          samyorn Consiglio Direttivo • ultima modifica di

          certo devi crearla tu la tabella 😉
          per l'errore che ti ha restituito significa che il nome della tabella non corrisponde con quello messo nello script....
          domanda: nel nome della tabella hai per caso messo spazi?
          hai percaso chiamato la tabella Tabella e la richiami scrivendo *tabella?
          *il nome della tabella nello script deve essere messo esattamente per come è nel Db e non mettere spazi nei nomi tabella 😉

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • C
            cybergiaggia User • ultima modifica di

            ti giuro di no!
            per sicurezza ho copiato e incollato il nome nell'interfaccia mysql...
            l'ho rifatto adesso, assicurandomi che non ci fossero spazi dopo aver incollato...
            boh

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • samyorn
              samyorn Consiglio Direttivo • ultima modifica di

              beh...l'errore è molto chiaro, la tabella *comesichiama non esiste.
              *per lo spazio intendevo non tanto lo spazio dopo ma dentro
              nome tabella è diverso da nome_tabella ed il primo caso non va bene 😉

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • C
                cybergiaggia User • ultima modifica di

                ci sono!
                pensavo di averla creata ma non era vero... 😞
                adesso mi si chiede di riempire i campi della tabella...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • samyorn
                  samyorn Consiglio Direttivo • ultima modifica di

                  ah ecco XD
                  ora è tutto chiaro 😉

                  se hai bisogno....siam quì 😄

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • C
                    cybergiaggia User • ultima modifica di

                    ehm...
                    essì, la mia voleva essere una richiesta d'aiuto...
                    ho chiamto i campi 'nome' 'citta' e 'email' ma non sembra sufficiente...
                    mi si dice "Questo non è un numero", prob a proposito dei campi 'lunghezza/set'...
                    poi ci sono un sacco di altri campi:

                    • collation (swe7_swedish_ci vero?)
                    • attributi
                    • predefinito
                    • extra
                    • primaria indice unica (radio buttons)
                    • commenti
                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • samyorn
                      samyorn Consiglio Direttivo • ultima modifica di

                      Fai così seleziona il database e poi vai in alto dove c'è la linguetta SQL e incolli questo editando il nome della tabella che vuoi creare

                      ```
                      

                      CREATE TABLE nome_tabella ( id SMALLINT( 5 ) NOT NULL AUTO_INCREMENT ,
                      nome VARCHAR( 50 ) NOT NULL ,
                      citta VARCHAR( 50 ) NOT NULL ,
                      mail VARCHAR( 50 ) NOT NULL ,
                      PRIMARY KEY ( id )
                      ) ENGINE = MYISAM CHARACTER SET latin1 COLLATE latin1_swedish_ci

                      
                      in questo modo crei un campo id univoco e che si incrementa ad ogni nuovo inserimento, i campi nome, citta, mail la cui lunghezza massima è di 50 caratteri ;)
                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • C
                        cybergiaggia User • ultima modifica di

                        nn so proprio come ringraziarti...
                        adesso la tabella è stata creata, lo script eseguito e...

                        Duplicate entry '32767' for key 1

                        questo è l'output...
                        è normale?
                        il db mi dice che sono state trovate 32.767 righe quando in realtà nel file txt di righe ce ne sono 3.039...
                        ricordi?
                        **nome cognome - citta - email \n **

                        ???

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • samyorn
                          samyorn Consiglio Direttivo • ultima modifica di

                          colpa mia stavolta 😄
                          mi ero dimenticato una cosa importantissima....così ti va in loop XD
                          [php] <?
                          $db_host = "NOME_HOST";
                          $db_user = "NOME_USER";
                          $db_psw = "PASSWORD";
                          $db_name = "NOME_DB";

                          $connessione = mysql_connect ($db_host, $db_user, $db_psw) or die ("Connessione al server non stabilita");

                          $db_NOME_DB = mysql_select_db ($db_name, $connessione) or die ("Connessione al Db non stabilita");

                          $textarray=file("NOME_FILE.txt");
                          $i=0;
                          while($i<count($textarray))
                          {
                          $text=substr($textarray*,0,-1);
                          list($nome_cognome,$citta,$mail)=explode("-",$text);

                          $sql="INSERT INTO NOME_TABELLA (nome,citta,mail) VALUES ('$nome_cognome', '$citta', '$mail')";
                          $query=@mysql_query($sql) or die (mysql_error());
                          $i++;
                          }

                          mysql_close($connessione);
                          ?> [/php]Svuota la tabella (la selezioni e poi clicchi su svuota) e riesegui lo script 😉
                          scusa per la svista 😉

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • C
                            cybergiaggia User • ultima modifica di

                            :vai::vai::vai:

                            EVVIVAAAAAAAAA
                            adesso funziona!!!

                            inizialmente mi ha dato un errore:
                            You have an error in your SQL syntax...
                            in pratica l'errore era causato dall'uso dell'apostrofo nei cognomi...
                            infatti il file txt l'ho dovuto pulire da tutti gli apostrofi prima di richiamarlo con lo script, ed alla fine ha funzionato...

                            adesso ti chiedo 3 cose conseguenti:

                            1. come faccio a far sì che il db non vada in errore a causa degli apostrofi?
                            2. lo script quando funziona dà per output una pagina bianca, immagino che se lo inserisco nella pagina di replay alla firma dell'appello, questo mi consentirà di aggiornare automaticamente il db, vero?
                            3. nella stessa pagina di replay, come faccio ad ottenere un contatore delle firme?

                            GRAZIE MILLE 💋

                            p.s.: adesso voglio imparare a scrivere direttamente sul db, ma immagino che questo sarà il tema di un altro post... ho notato che alcuni firmatari hanno usato la medesima mail, e vorrei impedirlo...

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • samyorn
                              samyorn Consiglio Direttivo • ultima modifica di

                              @cybergiaggia said:

                              1. come faccio a far sì che il db non vada in errore a causa degli apostrofi?
                              $text=substr($textarray*,0,-1);
                                $text=htmlentities($text, ENT_QUOTES);
                                list($nome_cognome,$citta,$mail)=explode("-",$text);
                              
                              1. lo script quando funziona dà per output una pagina bianca, immagino che se lo inserisco nella pagina di replay alla firma dell'appello, questo mi consentirà di aggiornare automaticamente il db, vero?
                                No, questo script lo usi una volta e basta
                                Per mettere le nuove firme direttamente nel Db bisogna togliere la parte relativa al file di testo.
                              1. nella stessa pagina di replay, come faccio ad ottenere un contatore delle firme?

                              Fai una select di tutta la tabella e poi
                              [PHP]$row=mysql_num_rows($query);[/PHP]
                              $row ti restituirà il numero di record contenuti nella tabella 😉

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • C
                                cybergiaggia User • ultima modifica di

                                rieccomi...
                                mi piacerebbe molto capirti al volo, ma non è così...
                                cosa intendi esattamente al punto 3?
                                dove va inserita quella riga di codice?
                                :ciauz:

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • samyorn
                                  samyorn Consiglio Direttivo • ultima modifica di

                                  se fai
                                  [PHP]<?
                                  $sql="SELECT * FROM nome_tabella";
                                  $query=@mysql_query($sql) or die (mysql_error());
                                  $row=mysql_num_rows($query);
                                  echo $row;
                                  ?>[/PHP]
                                  facendo così ti stampa il numero di righe contenute nella tabella...ovvero il numero di firme 😉

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • C
                                    cybergiaggia User • ultima modifica di

                                    posso inserire questo script in una pagina php in modo che il numero rimanga sempre a vista e sia aggiornato ad ogni refresh?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • samyorn
                                      samyorn Consiglio Direttivo • ultima modifica di

                                      certo 😉

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • C
                                        cybergiaggia User • ultima modifica di

                                        grazie mille!!!
                                        se invece volessi leggere le righe direttamente dal file di testo come dovrei fare? Per il momento ho questo script che mi stampa il suo contenuto:

                                        [PHP]<?
                                        $varA = file_get_contents($filelocation);
                                        echo nl2br($varA);
                                        ?>[/PHP]

                                        :mmm:

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • samyorn
                                          samyorn Consiglio Direttivo • ultima modifica di

                                          Cosa intendi per "leggere", potresti specificare meglio?

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • C
                                            cybergiaggia User • ultima modifica di

                                            intendo recuperare il numero delle righe direttamente dal file txt e 'stamparlo' sulla pagina in modo che sia sempre aggiornato...
                                            🙂

                                            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