1. sayfa
|
<?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. |
| 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. |
| 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. |
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. |
|
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. |
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);} Burda kullanmak istediğim datayı çekiyorum(işleyip echo ettiğim.) <?php Burası ise 2 jsonu nasıl tek jsona atadığım. function open_json($url,$assoc = false){return @json_decode(file_get_contents($url),$assoc);} 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. |
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. |
|
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. |
1. sayfa
Ş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.