• 27-11-2018, 07:52:03
    #1
    Üyeliği durduruldu
    Merhaba, il ilçe semt ve mahalle posta kodlarını excel dosyasından mysql'e aktaracağım. Bunun için php excel reader class'ını kullanıyorum. Class ile excel dosyasındaki tüm sütunları ekrana basıyorum. Fakat ben il isimlerini çekerken birden fazla il adı geliyor ve bunu nasıl düzelteceğimi anlamadım. Yani 30 tane Adana ekranda yazıyor. Aşağıdaki koda bakarsınız beni daha iyi anlarsınız.

    <?php
    
    require('Excel/php-excel-reader/excel_reader2.php');
    require('Excel/SpreadsheetReader.php');
    
    $okuyucu = new SpreadsheetReader('postakodlari.xlsx');
    $excel = $okuyucu -> Sheets();
    
    foreach ($excel as $cek => $isim)
    {
    echo 'Dosya #'.$cek.': '.$isim.'<br>';
    
    $okuyucu -> ChangeSheet($cek);
    
    foreach ($okuyucu as $Row)
    {
    print_r($Row['0']);
    }
    }
    ?>
  • 27-11-2018, 08:43:01
    #2
    <?php
     
    require('Excel/php-excel-reader/excel_reader2.php');
    require('Excel/SpreadsheetReader.php');
     
    $okuyucu = new SpreadsheetReader('postakodlari.xlsx');
    $excel = $okuyucu -> Sheets();
     
    $acilacaksayfa = 0; // burayı 1 2 3 yaparak dene
    echo 'Dosya #'.$acilacaksayfa.': '.$excel[$acilacaksayfa].'<br>';
     
    $okuyucu -> ChangeSheet($acilacaksayfa);
     
    foreach ($okuyucu as $Row)
    {
    print_r($Row['0']);
    }
    
    ?>
    $acilacaksayfa degerini 0 1 2 3 yaparak deneyin. excellin içindeki tüm sayfaları taramaya calısıyorsunuz.
  • 27-11-2018, 09:34:17
    #3
    Üyeliği durduruldu
    crooper adlı üyeden alıntı: mesajı görüntüle
    <?php
     
    require('Excel/php-excel-reader/excel_reader2.php');
    require('Excel/SpreadsheetReader.php');
     
    $okuyucu = new SpreadsheetReader('postakodlari.xlsx');
    $excel = $okuyucu -> Sheets();
     
    $acilacaksayfa = 0; // burayı 1 2 3 yaparak dene
    echo 'Dosya #'.$acilacaksayfa.': '.$excel[$acilacaksayfa].'<br>';
     
    $okuyucu -> ChangeSheet($acilacaksayfa);
     
    foreach ($okuyucu as $Row)
    {
    print_r($Row['0']);
    }
    
    ?>
    $acilacaksayfa degerini 0 1 2 3 yaparak deneyin. excellin içindeki tüm sayfaları taramaya calısıyorsunuz.
    Onu denedim hocam. Ama excel dosyasında Mesela Adana iline ait 30 ilçe var diyelim. İlçe sayısı kadar adana çeviriyor.
  • 27-11-2018, 14:14:33
    #4
    excell yapısı nasıl içerde ? mantık olarak şöyledir :
    adana | ilçe1
    adana | ilçe2
    adana | ilçe3
    ankara | ilçe1
    ankara | ilçe2
    böyle olunca her ilçe için çeker haliyle. excell den ekran goruntusu ve şu an aldıgınız ekranı yazarsanız inceleriz.
  • 29-11-2018, 05:19:21
    #5
    Üyeliği durduruldu
    crooper adlı üyeden alıntı: mesajı görüntüle
    excell yapısı nasıl içerde ? mantık olarak şöyledir :
    adana | ilçe1
    adana | ilçe2
    adana | ilçe3
    ankara | ilçe1
    ankara | ilçe2
    böyle olunca her ilçe için çeker haliyle. excell den ekran goruntusu ve şu an aldıgınız ekranı yazarsanız inceleriz.
    Hocam eğer skype varsa ordan yardımcı olabilir misiniz?
  • 29-11-2018, 05:59:57
    #6
    Muhtemelen aşağıdaki şekilde olduğu için öyle çekiyordur.
    Çekimi düzeltmek yerine kontrollü import yaparsanız daha zahmetsiz olur sonuçta tek seferlik bir işlem.
  • 29-11-2018, 06:02:55
    #7
    Üyeliği durduruldu
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    Muhtemelen aşağıdaki şekilde olduğu için öyle çekiyordur.
    Çekimi düzeltmek yerine kontrollü import yaparsanız daha zahmetsiz olur sonuçta tek seferlik bir işlem.
    Bir örnek verebilir misiniz rica etsem?
  • 29-11-2018, 06:06:28
    #8
    çektiğin data çıktı örneği ve import edeceğin mysql yapısını bilmem lazım hocam
  • 29-11-2018, 06:18:09
    #9
    Üyeliği durduruldu
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    çektiğin data çıktı örneği ve import edeceğin mysql yapısını bilmem lazım hocam
    Hepsi aşağıdaki gibi hocam
    Çıktı şu:

    Excell dosyası;

    Mysql:

    tbl_il -> https://prnt.sc/lobud3
    tbl_ilce-> https://prnt.sc/lobujv
    tbl_mahalle->https://prnt.sc/lobun8
    tbl_semt-> https://prnt.sc/loburc
    tbl_postakodu-> https://prnt.sc/lobuvr