Avatar billede vat69 Nybegynder
28. november 2005 - 17:24 Der er 6 kommentarer og
1 løsning

hjælp med at få en excell fil over til et php array

Hej eksperter

på post danmarks siden kan man hente en excel fil der indeholder alle postnr i danmark. Hvordan får man den automatisk ned i et php array ala denne:

var dineData = new Array();
dineData[100] = "Tórshavn";
dineData[110] = "Tórshavn (Postmugur)";
dineData[160] = "Argir";
dineData[165] = "Argir (Postmugur)";
dineData[175] = "Kirkjubøur";
dineData[176] = "Velbastadur";
dineData[177] = "Sydradalur, Streymoy";
dineData[178] = "Nordradalur";
dineData[180] = "Kaldbak";
dineData[185] = "Kaldbaksbotnur";
dineData[186] = "Sund";
dineData[187] = "Hvitanes";
dineData[188] = "Hoyvik";
dineData[210] = "Sandur";
dineData[220] = "Skálavik";
dineData[230] = "Húsavik";
dineData[235] = "Dalur";
dineData[236] = "Skarvanes";
dineData[240] = "Skopun";
dineData[260] = "Skúvoy";

Jeg vil bruge det til nogle formfelter så når man skriver et et post nr kommer byen automatisk. Lige som i dette eksembel: http://michaelb.dk/postnumre.php som michaelb.dk har lavet.

mvh
Vat69
Avatar billede jakobdo Ekspert
28. november 2005 - 17:49 #1
Jeg mener du i EXCEL kan gemme som CSV.

Og så kan du bruge:

<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
  $num = count($data);
  echo "<p> $num fields in line $row: <br /></p>\n";
  $row++;
  for ($c=0; $c < $num; $c++) {
      echo $data[$c] . "<br />\n";
  }
}
fclose($handle);
?>
Avatar billede vat69 Nybegynder
28. november 2005 - 18:19 #2
ok den går fint ind og henter postnummer og by, men er den nu i et array? som det ser ud nu bliver postnr og by vist ala det her:

1000;København K

1 fields in line 2:


1001;København K

1 fields in line 3:


1002;København K

1 fields in line 4:


1003;København K

1 fields in line 5:


1004;København K

1 fields in line 6:


1005;København K

1 fields in line 7:

osv...

Kan jeg ikke impotere csv filen og lave den om til et array der hvor jeg har min form ? Er ikke så skrap til det her php så ja jeg ved faktisk ikke rigtig hvad der sker i dit eksembel andet end den åbner csv filen og echoer by og postnr.
Avatar billede jakobdo Ekspert
28. november 2005 - 18:34 #3
Hvordan ser din csv fil ud?
Står alle postnumre og nynavn på hver deres linie?
Så kunne du nemlig indlæse dem med:
$postNumre = file(filnavn);
$postNumreFinal = array();
Så vil du have et array, som vi så skal lege videre med.
foreach($postNumre as $post)
{
$stykker = explode(";", $post);
$postNumreFinal[$stykker[0]] = $stykker[1];
}

Og det kan garanteret laves flottere!
Avatar billede vat69 Nybegynder
20. december 2005 - 19:09 #4
Hej Jakobdo, sorry jeg har ikke set du har svaret, jeg skal nok lige få det prøvet af det du skriver.
Avatar billede vat69 Nybegynder
10. februar 2006 - 11:30 #5
Hej det er for dårligt men jeg har ikke kigget på det endnu. Kan du ikke ligge et svar så får du point og jeg lukker spørgsmålet og prøver senere dit forslag :)
Avatar billede jakobdo Ekspert
10. februar 2006 - 11:42 #6
Svar!
Avatar billede jakobdo Ekspert
10. februar 2006 - 12:40 #7
Takker for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester