Güncel İl İlçe Veritabanı - R10.net
  • 30-03-2009, 11:09:03
    #1
    mysql tablosu ve veri cekme php kodu aşağıda.
    seçim 2009 verilerinden çekerek güncel ilçeleri alabilirsiniz.

    Alıntı
    DROP TABLE IF EXISTS `ililce`.`ilceler`;
    CREATE TABLE `ililce`.`ilceler` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `il_id` int(10) unsigned NOT NULL DEFAULT '0',
    `ilce` varchar(255) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=974 DEFAULT CHARSET=utf8;

    <?php
    
    mysql_connect("localhost","root","");
    mysql_select_db("ililce");
    
    $SQL="SET NAMES 'utf8' ";
    mysql_query($SQL);
    
    for ($ii=1;$ii<82;$ii++) {
        $f = file_get_contents("http://www.milliyet.com.tr/Secim2009/api/belediyelist.ashx?sehirid=".$ii);
        
        $t1 = explode(";",$f); # 197#Tatvan
        
        foreach ($t1 AS $key=>$val) {
            
            $t2 = explode("#",$val);
            $ilce=$t2[1];
                    
            $SQL="INSERT INTO ilceler SET il_id='$ii',ilce='$ilce' ";
            mysql_query($SQL);
            //echo $SQL;
            
        }    
    }
    
    ?>
  • 30-03-2009, 12:46:17
    #2
    Satırlar gösteriliyor 0 - 29 (973 toplam, Sorgu 0.0004 san. sürdü)

    teşekkürler

    aradan büyükşehirleri ayıklarsak tamamdır
    .
  • 30-03-2009, 14:08:53
    #3
    Delete FROM ililce.ilceler WHERE ilce like '%Büyükşehir%';
  • 30-03-2009, 14:31:34
    #4
    Sql sorgumda böyle bir hata alıyorum.

    Alıntı
    Hata

    SQL sorgusu:
    CREATE TABLE 'ililce'. 'ilceler'( 'id'int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
    'il_id' int( 10 ) unsigned NOT NULL DEFAULT '0',
    'ilce' varchar( 255 ) NOT NULL DEFAULT '',
    PRIMARY KEY ( 'id' )
    ) ENGINE = InnoDB AUTO_INCREMENT =974 DEFAULT CHARSET = utf8


    MySQL çıktısı:
    #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 ''ililce'.'ilceler' (
    'id' int(10) unsigned NOT NULL AUTO_INCREMENT,
    'il_id' in' at line 1
  • 30-03-2009, 14:34:03
    #5
    once "ililce" adinda bir database olustur
    sonra bu sql i caliştir

    yada mevcut database de kullanacaksan başindaki "ililce." yi kaldi.
  • 30-03-2009, 14:38:24
    #6
    Gene olmadı Not : mevcut db var.

    Alıntı
    CREATE TABLE ilceler( 'id'int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
    'il_id'int( 10 ) unsigned NOT NULL DEFAULT '0',
    'ilce'varchar( 255 ) NOT NULL DEFAULT '',
    PRIMARY KEY ( 'id' )
    ) ENGINE = InnoDB AUTO_INCREMENT =974 DEFAULT CHARSET = utf8
    MySQL çıktısı:
    #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 ''id' int(10) unsigned NOT NULL AUTO_INCREMENT,
    'il_id' int(10) unsigned NOT NUL' at line 2
  • 30-03-2009, 14:59:12
    #7
    bak bunlar ' tek tırnak degil ters tek tırnak ` .
    kopyala yapiştir ile al.

    DROP TABLE IF EXISTS `ilceler`;
    CREATE TABLE `ilceler` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `il_id` int(10) unsigned NOT NULL DEFAULT '0',
    `ilce` varchar(255) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 30-03-2009, 15:05:50
    #8
    KaleSoft adlı üyeden alıntı
    bak bunlar ' tek tırnak degil ters tek tırnak ` .
    kopyala yapiştir ile al.

    DROP TABLE IF EXISTS `ilceler`;
    CREATE TABLE `ilceler` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `il_id` int(10) unsigned NOT NULL DEFAULT '0',
    `ilce` varchar(255) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    Programlamayı uzun süre önce bıraktım, baya birşey unutmuşum.
    Yardım ve bilgi paylaşımı için teşekkür ederim.
  • 31-03-2009, 01:49:09
    #9
    Teşekkürler. Yanlız veri çekimi uzun sürecektir ve buna php.ini büyük ihtimal ile izin vermeyecektir. Böyle bir sorun ile karşılaşırsanız ki büyük ihtimal ile karşılaşacaksınız çünkü kodlamalar onu gösteriyor. Bunun için
    set_time_limit(0);
    Kullanmanızı tavsiye ediyorum tek seferlik olduğu için bir problem yaşamazsınız.

    Yani şu şekilde


    <?php
    set_time_limit(0);
    mysql_connect("localhost","root","");
    mysql_select_db("ililce");
    
    $SQL="SET NAMES 'utf8' ";
    mysql_query($SQL);
    
    for ($ii=1;$ii<82;$ii++) {
        $f = file_get_contents("http://www.milliyet.com.tr/Secim2009/api/belediyelist.ashx?sehirid=".$ii);
        
        $t1 = explode(";",$f); # 197#Tatvan
        
        foreach ($t1 AS $key=>$val) {
            
            $t2 = explode("#",$val);
            $ilce=$t2[1];
                    
            $SQL="INSERT INTO ilceler SET il_id='$ii',ilce='$ilce' ";
            mysql_query($SQL);
            //echo $SQL;
            
        }    
    }
    
    ?>