• 26-04-2015, 03:31:44
    #1
    Merhaba arkadaşlar, siteme veri tabanından tek değer olarak aşağıdaki gibi bir yazı geliyor.

    Alıntı
    --- ID |23153572 KullaniciAdi AD-YUYUTA-5576 IP |- IP Address |123.123.123.123 Created at |2015-04-25 22:39:02 Location |On 'server' +++--- ID |23153572 KullaniciAdi AD-GSDA-5576 IP |- IP Address |222.222.222.222 Created at |2015-04-25 22:39:02 Location |On 'server' +++--- ID |23153572 KullaniciAdi AD-DENEME-5576 IP |- IP Address |333.333.333.333 Created at |2015-04-25 22:39:02 Location |On 'server' +++
    Bu yazı içinde YUYUTA,GSDA ve DENEME kullanıcılarının bilgilerini (ip ve giriş tarihi) içereriyor.

    Amacım --- ile başlayıp +++ ile biten bölümleri kesip dizelere vermek. Daha sonra bu parçadan tekrar "KullaniciAdi AD-" ile başlayan ve "-5576" ile biten değerleri keserek üyenin kullanıcı adını çekeceğim.

    Aynı şeyi IP ve Created at bilgileri için de yaparak; Bir kullanıcı adının ip numarasını ve tarih bilgilerini alacağım.

    Herzaman örnekteki gibi 3 adet büyük parça olmuyor. Bazen 10-15 tane de oluyor. Bu yüzden +++ ile başlayıp --- ile biten parçaları (yani benim büyük parça dediğim parçaları) dizelere atayıp daha sonra bu dize değerlerini sırasıyla daha küçük parçalara (kullanıcıadı ip tarihler gibi) ayırıp veri tabanına yazdırmak istiyorum.

    Örneğimizdeki bize gelen yazının herşeyden sonra SQL ye yazdırmasını istediğim son hali, yani amacım: (SQL tablosuna benzetmeye çalıştım)

    KULlANICI ADI________IP ADRESİ_____________TARİH
    YUYUTA___________123.123.123.123___________2015-04-25 22:39:02
    GSDA_____________222.222.222.222___________2015-04-25 22:39:02
    DENEME___________333.333.333.333___________2015-04-25 22:39:02
  • 26-04-2015, 07:03:20
    #2
    $data = "--- ID |23153572 KullaniciAdi AD-YUYUTA-5576 IP |- IP Address |123.123.123.123 Created at |2015-04-25 22:39:02 Location |On 'server' +++--- ID |23153572 KullaniciAdi AD-GSDA-5576 IP |- IP Address |222.222.222.222 Created at |2015-04-25 22:39:02 Location |On 'server' +++--- ID |23153572 KullaniciAdi AD-DENEME-5576 IP |- IP Address |333.333.333.333 Created at |2015-04-25 22:39:02 Location |On 'server' +++";
    
    preg_match_all('@KullaniciAdi AD-(\w+)-5576 IP \|- IP Address \|(.*?) Created at \|(.*?) Location@', $data, $f);
    
    print_r($f);
    
    //ekran çıktısı
    /*
    
    Array
    (
        [0] => Array
            (
                [0] => KullaniciAdi AD-YUYUTA-5576 IP |- IP Address |123.123.123.123 Created at |2015-04-25 22:39:02 Location
                [1] => KullaniciAdi AD-GSDA-5576 IP |- IP Address |222.222.222.222 Created at |2015-04-25 22:39:02 Location
                [2] => KullaniciAdi AD-DENEME-5576 IP |- IP Address |333.333.333.333 Created at |2015-04-25 22:39:02 Location
            )
    
        [1] => Array
            (
                [0] => YUYUTA
                [1] => GSDA
                [2] => DENEME
            )
    
        [2] => Array
            (
                [0] => 123.123.123.123
                [1] => 222.222.222.222
                [2] => 333.333.333.333
            )
    
        [3] => Array
            (
                [0] => 2015-04-25 22:39:02
                [1] => 2015-04-25 22:39:02
                [2] => 2015-04-25 22:39:02
            )
    
    )
    
    */
  • 26-04-2015, 22:52:25
    #3
    Konudaki örnek sql tablosu içindeğerleri nasıl alacağız bu dizilerden.

    foreach kullanarak yalnızca bir sütunu yazabiliyorum SQL ye