Jump to content

Concelhos, distritos, localidades


danielcsgomes

Recommended Posts

danielcsgomes

Boa tarde a todos, gostaria saber se alguem conhece algum sitio aonde se possa retirar todos os concelhos, distritos, localidades de portugal de modo a ser introduzido logo na base de dados?

Full Stack Web Developer @ Sedimap PT

Co-founder & Co-organizer @ phplx

Zend Certified Engineer PHP 5.3

Certified Scrum Master

Link to post
Share on other sites
marinheiro

http://www.ctt.pt/contents/Downloads/todos_cp.zip

tem um ficheiro com todos os distritos (DD;Nome), um ficheiro com todos os concelhos (DD;CC;Nome) e um ficheiro com todas as freguesias (DD;CC;FF;Nome)...

há 10 tipos de pessoas: as que sabem binário e as que não sabem... todas as nossas vidas não passam de release candidates... com o aperfeiçoamento, um dia chegaremos à versão final..

Link to post
Share on other sites
danielcsgomes

Era mesmo isso que estava a procura agora so resta colocar na base de dados ;) tks!

Full Stack Web Developer @ Sedimap PT

Co-founder & Co-organizer @ phplx

Zend Certified Engineer PHP 5.3

Certified Scrum Master

Link to post
Share on other sites

Pessoal, alguém consegue dizer-me como consigo passar os dados desses ficheiros para uma tabela do MySQL?

Se usar a query:

Load Data Infile 'caminho do ficheiro' into table minha_tabela

Ele passa mas só se o ficheiro txt tiver com tabulações em vez de ";".

Tentei passar para o Excel (por vezes o excel não passa todos os dados não sei porquê) e e gravar um txt com tabulações. Quando passo, desta forma, a tabela de do MySQL fica com uma linha a mais no registo, como se tivesse feito um ALT+ENTER no campo.

Alguém sabe dizer-me como se faz para passar tal e qual como está nos ficheiros dos ctt?

O que eu já tinha feito, foi um programa em C# para manipular os dados do ficheiro e passar a informação que me interessa para outro ficheiro mas o que gostava na realidade era saber como é que se faz para passar tal e qual dos ficheiros disponibilizados pelos ctt.

obrigado.

Link to post
Share on other sites
Battousai

Acho que só em php. Se for do tipo de ficheiro CSV, fazes do estilo:


$ficheiro = 'csv.csv';
$handle = fopen($ficheiro,'r');

while ( ($dados = fgetcsv( $handle, 2000, ';', '"') ) !== false ){

$dadosParaInserir [] = array( $dados[1], $dados[2], $dados[3]... );

}

....

inserir na bd

...

pesquisa sobre a funcao fgetcsv

Link to post
Share on other sites

Ya, penso que dão todos... Eu normalmente uso o MS SQL mas desta vez tenho de usar o mysql.

Mas detectei um pequeno problema... o ficheiro todos_cp tem dados repetidos... há alguma forma de dar a volta à situação. Eu tentei acrescentar um campo chave com incrementação automática, mas se quero passar directamente do ficheiro para a tabela os campos têm de bater certos. têm de ser exactamente 16...

alguma ajuda?

Link to post
Share on other sites
Battousai

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Tens aí a sintaxe:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_name]
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [sTARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [iGNORE number LINES]
    [(col_name_or_user_var,...)]
    [sET col_name = expr,...]

Tens a opção de adicionar um REPLACE.

Link to post
Share on other sites

Cuidado com o ficheiro dos CTT, recentemente sofreu uma alteração e as freguesias deixaram de constar no .zip.

Com "sorte" esta situação será temporária.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to post
Share on other sites
marinheiro

eu tenho o ficheiro completo, separado por distritos, concelhos e freguesias... se alguém necessitar, basta pedir :D

há 10 tipos de pessoas: as que sabem binário e as que não sabem... todas as nossas vidas não passam de release candidates... com o aperfeiçoamento, um dia chegaremos à versão final..

Link to post
Share on other sites

Sei que não é o sitio indicado, mas aproveito já que tem a ver com isto...

Como faço um campo de opções vindas do mysql..

Por exemplo, de inicio tenho os distritos, ao seleccionar um, aparece só os concelhos associados a esse e assim como para as freguesias

Link to post
Share on other sites

Sei que não é o sitio indicado, mas aproveito já que tem a ver com isto...

Como faço um campo de opções vindas do mysql..

Por exemplo, de inicio tenho os distritos, ao seleccionar um, aparece só os concelhos associados a esse e assim como para as freguesias

Que linguagens estás a usar?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.