BeratYildiz adlı üyeden alıntı: mesajı görüntüle
Açıkçası koda bakıpta şunu anladım kısaca botvari bir işlem yaptırmak istiyorsunuz gibi duruyor. Yani verileri işleyeceksiniz datatwo dataone gibi ifadeler yerine for döngüsü ile işi daha kolay yaptırabilirsiniz. Hem daha az kod yığını hem daha güzel sonuçlar verir. Veri büyükse ini_set ile max memory ve max exec time tanımlarını verin. For aktifken web kısmında çalıştırabilirsiniz fakat dökümleri tek tek dökmez. Dökümleri tek tek almak isterseniz konsol ile çalıştırmanız gerekir.
MCERAN adlı üyeden alıntı: mesajı görüntüle
Aynı anda 500 defa insert yapmaya çalışıyorsun. Bunun yerine her 250 kayıdı tek seferde insert etmelisin. While ile değil.

INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
Öncelikle yanıtlarınız için çok teşekkür ederim, PHP konusunda kendimi geliştirmek için basit bir coin veri sayfası yapmak istiyorum. Bu verileri direkt siteden de çekebilirim ama biraz daha fazla konuya aşina olmam için veritabanına kayıt işlemi de yapmak istiyorum. Verileri bir URL'den alıp, veritabanıma kayıt edeceğim. Gösterirken de benim veritabanımdan göstereceğim. Yapmak istediğim şey budur.

Örnek çıktı:


Tek bir veriyi parse edip farklı tablolara kayıt ediyorum. 1 verinin içerisinde fazla detay var. Tek tabloda tutmam çok kötü olur. O yüzden verileri ayırıp ayırıp insert etmem gerektiğini düşünüyorum.

Bu şekilde bir kod bloğu denedim. Verilere bu şekilde ulaşabilirsem bir array kayıt edip tek seferde insert yapabilirim, yukarıda ki arkadaşımızın söylediği gibi.. Fakat beyaz boş ekran döndürüyor bana...

$urlAllData = file_get_contents("https://raw.githubusercontent.com/codehakan/deneme/main/data.json");
$AllData = json_decode($urlAllData);

foreach ($AllData->market_data as $mydata) {
    foreach ($mydata->current_price as $values) {
        echo $values->usd . "\n";
    }
}