Şimdi Ara

Php json'u arraya çevirmek.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
15
Cevap
1
Favori
516
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Merhabalar.Birkaç işlemle json'u arraya atıyorum şimdi şöyle bir kullanımı nasıl sağlayabilirim? Çok basit ama anlayamadım.(Arrayı php ile gönderip javascript ile işliyorum burada bir problem yok tek sorunum array'ı oluşturmak) böyle bir kullanımı nasıl sağlarım?

    Stock[Index].Quality 
    Stock[Index].IsGifted(bu bir bool değeri.)


    Şuan for each döngüsü ile jsondaki her bir itemı işliyorum.Bu kısımda sorun yok bu değerleri nasıl her bir index için oluşturabilirim? Yani tek bir index değerine alt dallarda farklı değerler atamak istiyorum.



    _____________________________
  • <?php
    $a['hede']['isHede'] = true;
    $a['hede']['isHodo'] = false;
    $a['antin']['isHede'] = false;
    $a['kuntin']['isHodo'] = false;

    echo json_encode($a);

    ?>
    Bunu ajaxla çağırıyorsun.

    $.ajax({
    type: 'GET',
    url: 'http://example/functions.php',
    data: { get_param: 'value' },
    dataType: 'json',
    success: function (data) {
    if(data.hede.isHede) {
    alert('hede hodo');
    }
    }
    });
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    <?php
    $a['hede']['isHede'] = true;
    $a['hede']['isHodo'] = false;
    $a['antin']['isHede'] = false;
    $a['kuntin']['isHodo'] = false;

    echo json_encode($a);

    ?>
    Bunu ajaxla çağırıyorsun.

    $.ajax({
    type: 'GET',
    url: 'http://example/functions.php',
    data: { get_param: 'value' },
    dataType: 'json',
    success: function (data) {
    if(data.hede.isHede) {
    alert('hede hodo');
    }
    }
    });

    Çok saolun hocam bir sayfada jsonu vesaire işleyip javascripte gönderiyorum(sayfa yükleniyor veriler cekilip yorumlanıp resimler yüklenicek derken 15 saniyeyi bulabiliyor bunları direkt php ile işlesem daha hızlımı olur? Benzer bir site aynı işi saniyeler içinde yapıyor anlamış değilim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________




  • Tek istek 15 sn sürüyorsa yazdığın kodda bir şey vardır. Veya resimlerin çok geç yüklüyordur.
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    Tek istek 15 sn sürüyorsa yazdığın kodda bir şey vardır. Veya resimlerin çok geç yüklüyordur.

    Muhtemelen kodumun bir kısmında hata vardır.Php ile işlemeyi deniyim birde.Bir json açılıyor ve foreach ile 2000 itemı döndürüp resimlerini çekip bastırıyorum.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • 2 bin item resmini tek sayfa basıyorsan sorun resimlerin görüntülenmesi olabilir. cdn üzerinden çağırmayı dene
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    2 bin item resmini tek sayfa basıyorsan sorun resimlerin görüntülenmesi olabilir. cdn üzerinden çağırmayı dene

    Hocam resimler cdn üzerinde zaten sadece linkleri cekiyorum json'dan javascript kodları sayfa yüklendiğinde başlamasıda bir kaç saniye yavaşlatıyor olabilir.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Php'de Portal Kodlama
    19 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    2 bin item resmini tek sayfa basıyorsan sorun resimlerin görüntülenmesi olabilir. cdn üzerinden çağırmayı dene

    Hocam bir json'ı decode edip bana lazım olanların olduğu yeni bir json encode edip file get contents ile çekip uyguluyorum.Bu işlem 4.5 saniye sürüyor nginx kullanmak hızı biraz daha düşürecektir muhtemelen.Onun yerine direkt ana jsonu çekip uygulamayı deniyeceğim.Yani şuan şu işlemler dönüyor.
    1-)Ana json'u çek.
    2-)Ana jsonu istediğin hale getir.
    3-)Yeni jsonu echo et
    4-)Yeni jsonu file_get_contents ile çek.
    5-)Gerekli kısımları sayfaya yazdır.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • bir sefer json cektikten sonra neden javascript içinde process etmiyorsun ki. ayrıca maden yeni data yaptın echo ettiğinde o iş biter.

    Bence yaptığın işte bir mantık hatası var.
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    bir sefer json cektikten sonra neden javascript içinde process etmiyorsun ki. ayrıca maden yeni data yaptın echo ettiğinde o iş biter.

    Bence yaptığın işte bir mantık hatası var.

    Hocam datayı json şeklinde echo ediyorum yeni bir json yaratılmış oluyor.Zaten php içinde jsonu kullandığım için ayrıyeten javascript ile cagırmak istemedim.Sanırım ayrı bir json yaratmak yerine direkt gelen jsonu işleyeceğim.Bunu yapma amacım iki adet json çekip tek jsona dönüştürmek ayrı iki şeyle uğraşmıyorum böylece.



    < Bu mesaj bu kişi tarafından değiştirildi Obilux -- 4 Ekim 2015; 12:06:19 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    bir sefer json cektikten sonra neden javascript içinde process etmiyorsun ki. ayrıca maden yeni data yaptın echo ettiğinde o iş biter.

    Bence yaptığın işte bir mantık hatası var.

    Hocam en iyisi javascriptle atamak olacak değerleri sanırım.Olayı çok karışık anlatmışım en baştan bi kodlarla anlatıyım.

    Burası en son basamak işlenmiş veriyi çekip değere atıyorum.
    function open_json($url,$assoc = false){return json_decode(file_get_contents($url),$assoc);} 
    $bp_data_hat1 = open_json('http://' . $_SERVER['HTTP_HOST'] . '/data/inventory/tf2/?id=76561198148667037', true);


    Burda kullanmak istediğim datayı çekiyorum(işleyip echo ettiğim.)

    <?php 
    include('../../../lib/jsonislemleri.php');
    if(isset($_GET['id']))
    {
    echo json_encode(open_items($_GET['id']));
    }else{
    $bp['sucess'] = false;
    echo json_encode($bp);
    }
    ?>

    Burası ise 2 jsonu nasıl tek jsona atadığım.
    function open_json($url,$assoc = false){return @json_decode(file_get_contents($url),$assoc);}   
    function save_json($data,$path){$tmp = json_encode($data);file_put_contents($path, $tmp, LOCK_EX);}

    function open_items($steamid,$onlyTradeable = true){
    $metal = 0;

    $bp_item = array();
    $bp_data = open_json('http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key='.APIKEY.'&SteamID='.$steamid.'&format=json',false);

    if (@!$bp_data->result->status){
    $bp_item['success']=false;
    return $bp_item;
    }

    if (@$bp_data->result->status==1){
    $schema=open_json(dirname(__FILE__).'/../data/schema.json',true);
    foreach($bp_data->result->items as &$item){
    $tradable=true;

    if (isset($item->flag_cannot_trade)){
    if ($item->flag_cannot_trade)
    $tradable = !$onlyTradeable;
    }

    if ($tradable==true){
    if (!isset($bp_item['schema'][$item->defindex])){
    $bp_item['schema'][$item->defindex]=$schema[$item->defindex];
    }
    }
    }
    }else{
    $bp_item['success']=false;
    }
    return $bp_item;
    }

    Kod kalabalığı olmaması için atadağım diğer değişkenleri sildim.
    Yani olay şu iki adet jsonu açıyorum sonra bir array oluşturuyorum ve attığım 2. koddaki şekilde echo edip.İlk koddaki şekilde kullanıyorum.
    Edit:30 Saniyede bir çalışıcak bir cron'mu yazsam direkt kaynaktan çekip denediğimde çok yakın bir değer aldım zaten.



    < Bu mesaj bu kişi tarafından değiştirildi Obilux -- 4 Ekim 2015; 19:06:52 >
    _____________________________




  • Javascripte yap. Php de yapmanın bir anlamı yok.
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    Javascripte yap. Php de yapmanın bir anlamı yok.

    Saolun hocam konu boyunca ettiğiniz tüm yardımlar için başka bir site bu işlemleri nasıl 500 ms de yapabiliyor şaştım kaldım.Cron ile 30 saniyede bir jsonu mysqle gönderebilirim oda serverı yorabilir.Javascript ile yapacağım.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key='.APIKEY.'&SteamID='.$steamid.'&format=json

    Buradan çektiğin datayı direkt olarak js de işlesen olmuyormu neden illa php devreye sokuyorsun.
    _____________________________
    Ford Granada MK2 2.8 V6, Weber 38 DGAS || Lada Samara 1.5 S
    Ryzen 9 7900 64GB Ram, 2 TB m.2, 1.5 TB SSD, 2 TB HDD, 32 2k, Rtx 3060
  • quote:

    Orijinalden alıntı: Delifisek.Tux

    http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key='.APIKEY.'&SteamID='.$steamid.'&format=json

    Buradan çektiğin datayı direkt olarak js de işlesen olmuyormu neden illa php devreye sokuyorsun.

    Hocam js ile islesemde uzun olacakti yakindigim kisim jsonun cok uzun surede cekilmesiydi.Şimdi datayı curl ile çekiyorum.2.3 saniyeye düştü nginx fastcgi server üstünde 1 saniyeye kadar çekebilirim muhtemelen.Yardımlarınız için teşekkür ederim file get contents ve curl arasında daglar kadar fark var.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.