• 22-10-2016, 00:45:59
    #1
    Merhaba Arkadaşlar,
    xml linkinden siteme otomatik ürün çekiyorum. Ürünler arasında dolar ve euro döviz kuru olan ürünler var.
    Bu ürünlerin aktarım sırasında TL ye çevrilmesini istiyorum. Ben kısmen birşeyle yapmaya çalıştım fakat olay biraz karmaşıklaştı
    Aşağıdaki kod ile euroyu diğerleri arasından tespit etmiş olduk.
    Sağolsun wp fastest cache eklentisinin yaratıcısı kardeşim Emre Vona bir hayli yardım etti fakat onuda çok sıkmadan konuyu siz değerli r10 üyelerine açarak sorunumu çözmek istedim.

    Bu kod ile euroyu data içerisinde tespit ettik. Yapmak istediğim tespit ettiğim euro gçeen fiyatları tlye çevirmektir. yani bu {fiyat[1]} formülü hepsinde aynı ben euroyu tespit ettim euroya günün kurunu değer gösterip fiyatla çarptırıp çıkarcam
    <?php

    $xml_data = file_get_contents('http://binekoto.net/yedekparca/ozyurt.xml');

    if(preg_match("/>EUR</", $xml_data)){
    echo "Euro";

    }
    ?>
  • 22-10-2016, 04:44:23
    #2
    Allah Aşkına birileri doğru yolda olup olmadığımı söylesin...

    <?php

    $xml_data = file_get_contents('http://binekoto.net/yedekparca/dosya.xml');


    if(preg_match("/>13.98</", $xml_data)){
    echo "fiyat";
    }
    //---------------------------------------------------------------
    if(preg_match("/>EUR</", $xml_data)){
    echo "Euro";
    }

    $doviz = "Euro";
    $fiyat = "fiyat";
    echo str_replace("Euro","3.25",$doviz);
    echo str_replace("fiyat","{fiyat[1]}",$fiyat);

    $carp = $fiyat*$doviz;

    echo $carp;


    ?>
  • 22-10-2016, 05:13:17
    #3
    xml yapısı belli olmadığı için birşey diyemiyorum da, herşeyden önce xml nasıl parse edilir önce onu öğrenmen gerek, pregmatch ile kastırmaya gerek yok node var elinde zaten

    örneğin senin xml'i bilmediğim için standart tcmb kurlarından alırken,

    $tcmb = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml');
    $euro_satis = $tcmb->Currency[3]->BanknoteSelling;

    burada node traverse etmene gerek yok zira 3 nolu indekste olduğunu görüyoruz zaten, ama traverse ederek eur koduna göre de bulabilirsin gerekiyorsa
  • 22-10-2016, 05:26:37
    #4
    Üyeliği durduruldu
    Belirttiğiniz xml linkindeki veri boyutu çok fazla olduğundan yüklenmemekte. XML taglarını görebilmemiz için bir screenshot atarsanız yardımcı olabiliriz.
  • 22-10-2016, 21:03:00
    #5
    merhaba tabiki içerik bu şekilde..
    mavi renk içerisine aldıklarım fiyat ve kur bilgisinin aldukları satırlar



    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 19:56:35 -->-> Daha önceki mesaj 19:49:06 --

    Rise adlı üyeden alıntı: mesajı görüntüle
    Belirttiğiniz xml linkindeki veri boyutu çok fazla olduğundan yüklenmemekte. XML taglarını görebilmemiz için bir screenshot atarsanız yardımcı olabiliriz.
    merhaba tabiki içerik bu şekilde..
    mavi renk içerisine aldıklarım fiyat ve kur bilgisinin aldukları satırlar



    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 21:03:00 -->-> Daha önceki mesaj 19:56:35 --

    Dracos adlı üyeden alıntı: mesajı görüntüle
    xml yapısı belli olmadığı için birşey diyemiyorum da, herşeyden önce xml nasıl parse edilir önce onu öğrenmen gerek, pregmatch ile kastırmaya gerek yok node var elinde zaten

    örneğin senin xml'i bilmediğim için standart tcmb kurlarından alırken,

    $tcmb = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml');
    $euro_satis = $tcmb->Currency[3]->BanknoteSelling;

    burada node traverse etmene gerek yok zira 3 nolu indekste olduğunu görüyoruz zaten, ama traverse ederek eur koduna göre de bulabilirsin gerekiyorsa
    Dracos tcmb ye göre aldığımız değerlerden Currency[3] 3 numaralı değer oluyor bizde şöyle bir sorun var TL USD EUR hepsi aynı kısımda göründüğü için tag içindeki bu isimden ancak kullanabiliriz gibi görünüyor tabi bu benim fikrim siz daha iyi bilirsiniz doğrusunu başka yollar fazlaca mümkün buna eminim
  • 22-10-2016, 22:05:10
    #6
    ne yapmak istediğini bilsem daha kolay olacak senin koduna göre gidersek kur ve fiyat bilgisi için bu şekilde tüm ürünleri dolaşır

    $xml_data = simplexml_load_file('http://binekoto.net/yedekparca/ozyurt.xml');
    foreach ($xml_data->row as $row) {
    $fiyat = $row->Cell[12]->Data;
    $kur = $row->Cell[20]->Data;
    }

    buna göre foreach içinde kur değeri eur veya usd neyse artık ona göre karşılığını fiyat ile çarparsın istediğin olur, yalnız xml rezalet bir şekilde hazırlanmış değiştirebiliyorsanız onu düzeltin asıl
  • 23-10-2016, 01:17:43
    #7
    Sevgili Rise,
    xml içeriğini biraz tl biraz USD VE EUR kuruna sahip ürün bıraktım üstünde daha rahat fikir alışverişi yapabiliriz artık
    link;
    https://binekoto.net/yedekparca/dosya.xml

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 01:17:43 -->-> Daha önceki mesaj 01:08:26 --

    Dracos adlı üyeden alıntı: mesajı görüntüle
    ne yapmak istediğini bilsem daha kolay olacak senin koduna göre gidersek kur ve fiyat bilgisi için bu şekilde tüm ürünleri dolaşır

    $xml_data = simplexml_load_file('http://binekoto.net/yedekparca/ozyurt.xml');
    foreach ($xml_data->row as $row) {
    $fiyat = $row->Cell[12]->Data;
    $kur = $row->Cell[20]->Data;
    }

    buna göre foreach içinde kur değeri eur veya usd neyse artık ona göre karşılığını fiyat ile çarparsın istediğin olur, yalnız xml rezalet bir şekilde hazırlanmış değiştirebiliyorsanız onu düzeltin asıl

    Dragos öncelikle çok teşekkür ederim çok yardımcı oldun abi malesef xmli karşı taraftan alıyorum ben hazırlamadım müdahale şansım sıfır..

    Konuyla İlgili Açıklama;
    -Ben meseleyi biraz daha açmak istiyorum. Ben sitemde bir wp import eklentisi kullanıyorum ve karşı tarafın verdiği bir xml linki var. Site ip adresime tanımlanmış ve oradan eklenti sayesinde otomatik çekiyorum ürünleri.


    -Bu ortamda çözmeye çalıştığım döviz çevirme kodunu da, bu eklentinin bir function editörü var oraya yapıştırıp dövizlerin tlye çevrilmesini sağlayacağım.
    Eklenti ekranında fiyat v.s gibi alanları eşleştirme durumu var onları gösteren bir ekran görüntüsü eklersem sanırım herkes beni daha iyi anlayacaktır.
    Eklediğim görüntüde kodu yapıştıracağım editor kısmını ve ayrıca eşleşme yaparken kur bilgisini soldan sağa sürüklediğim alanı ve ne şekilde yazılmış olduğunu görebilirsiniz. RESİMDE GÖRDÜĞÜNÜZ
    BU KISIM XML LİNKİ İLE İŞLEMİ BAŞLATINCA KARŞIMA ÇIKIYOR VE TİTLE FİYAT AÇIKLAMA GİBİ ALANLARI SİTEMİN ALANLARINA SÜRÜKLEYİP BIRAKIYORUM. FİYAT VE KURUN SAĞDA TAŞIMADAN ÖNCE VE SOLA TAŞIDIKTAN SONRAKİ HALLERİNİ RAHATÇA GÖREBİLİN DİYE RASTGELE EDİTÖRE SÜRÜKLEDİM.



    Sevgili Dragos abim,
    Yukarıda $kur değişkeni için 21. satır olması gerek.. Bu noktada şunu sormak istiyorum kur alanında TL EUR ve USD şeklinde 3 farklı kur değeri var. Ben sadece EUR VE USD olanları günün kur bilgisiyle çarpıp TL ye eşittir demek istiyorum. Bu ayrımı ve çarpımı nasıl yapabilirim sanırım benim yukarıda yaptıklarımın hepsi yanlış
  • 23-10-2016, 01:22:48
    #8
    Üyeliği durduruldu
    Merhaba;

    Yukarıdaki arkadaşımızın bahsettiği XML yapısı oldukça karmaşık bir şekilde kodlandığından, öncelikle XML yapısını değiştirmeniz veya değiştirtmeniz gerekiyor nette örnek xml dökümanlarınıza bakarsanız ne demek istediğimizi anlıyabilirsiniz.
  • 23-10-2016, 02:02:27
    #9
    Sevgili Rise,
    xml in farkındayım fakat değiştirtmem imkansız firma yıllardır bu şekilde çalışıyor ve ben onlarla çalışmak için çaba sarfeden sıradan bir satıcıyım. Yani bu imkansız daha önce girişimde bulundum. Malesef bu şekilde çözmeye çalışıcam. Zaten Dragos un son verdiği örnek üzerinden büyük yol kat edilebilir biraz daha ipucuya ihtiyacım var bu işte henüz 1.5 yaşında sayılırım ve sizin kadar deneyimli değilim o yüzden bu konuda küçük büyük tüm fikirleriniz önerileriniz benim için çok değerlidir. Hepinize ayrı ayrı çok teşekkür ediyorum..