• User

    mi puoi dare qlche dritta in piu sul da farsi?
    grazie


  • Consiglio Direttivo

    [PHP]$textarray=file("percorso/nomefile.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());
    }[/PHP]
    così dovrebbe andare 😉


  • User

    mille grazie!!!
    questa è una query per il mio db?
    ho provato a inserirla ma mi dà questo errore relativo al percorso del file di testo:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$textarray=file("appello.txt")' at line 1

    Se il db è collegato al dominio 'miodominio.it' e il file di testo è nella directory principale, quale deve essere il percorso?

    ancora grazie per il disturbo!!!
    🙂


  • Consiglio Direttivo

    Intanto metti questa riga così
    [php]while($i<count($textarray))[/php]
    mi era scappato il maiuscolo 😄

    se il file di testo e' nella root e questo script è nella root va bene come lo hai postato 😉


  • User

    non so dove sia lo script...
    io lo eseguo come query all'interno del db...
    o lo devo inserire in un file php???
    :bho:

    scusa, ma sono una frana...


  • Consiglio Direttivo

    ah ecco...infatti non capivo perchè fosse il mysql a darti noie...ma il sonno.... 😄

    No questo script deve effere un file .php

    dal pannello del Db puoi solo effettuare comandi di MySQL 😉


  • User

    se chiamo il file php con quello script il risultato è questo:

    Can't connect to MySQL server on 'localhost' (10061)

    c'è qlcsa che mi manca evidentemente...
    😞


  • Consiglio Direttivo

    se hai copincollato tutto così com'è certo!

    devi mettere i dati di connessione al Db 😉

    Dai un'occhiata quì


  • User

    ...

    ti aggiorno sulla mia triste situazione... 🙂

    ho fatto come mi hai detto, ho messo in connessione il db e tutto sembrava andare per il meglio, nel senso che non è uscita la scritta "Connessione al Db non stabilita"...

    poi ho inserito lo script in questo modo:
    [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());
    }

    mysql_close($connessione);
    ?>[/php]
    Ti confermo che il file php e il file txt sono nella stessa root e il risultato è stato questo:

    Table 'NOME_DB**.NOME_TABELLA****' doesn't exist**

    Allora ho provato a crearla io la tabella NOME_TABELLA all'interno dell'interfaccia di mysql, dandole 3 campi.
    Ma il risultato è stato identico... :arrabbiato:

    Grazie ancora per la pazienza...
    sento di essere vicina alla meta...
    🙂


  • Consiglio Direttivo

    ma il Db si chiama NOME_DB ?


  • User

    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?


  • Consiglio Direttivo

    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 😉


  • User

    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


  • Consiglio Direttivo

    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 😉


  • User

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


  • Consiglio Direttivo

    ah ecco XD
    ora è tutto chiaro 😉

    se hai bisogno....siam quì 😄


  • User

    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

  • Consiglio Direttivo

    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 ;)

  • User

    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 **

    ???


  • Consiglio Direttivo

    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 😉