• 14-12-2021, 21:25:42
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    İyi akşamlar arkadaşlar,

    Bir tane json dosyası mevcut, dosya içerisinde her satırda aşağı yukarı aynı veriler bulunmakta benim yapmak istediğim işlem ilk satırdaki işlemi bitirdiğinde diğerine geçmesini sağlamak, her bir satırda işlem bittikçe diğer satıra geçmesi, ayrıca satır sayısı çok fazla olduğu için işlem php'nin zaman aşımına düşmeden nasıl işlem yaptırabilirim ?
  • 14-12-2021, 21:29:46
    #2
    Trends adlı üyeden alıntı: mesajı görüntüle
    İyi akşamlar arkadaşlar,

    Bir tane json dosyası mevcut, dosya içerisinde her satırda aşağı yukarı aynı veriler bulunmakta benim yapmak istediğim işlem ilk satırdaki işlemi bitirdiğinde diğerine geçmesini sağlamak, her bir satırda işlem bittikçe diğer satıra geçmesi, ayrıca satır sayısı çok fazla olduğu için işlem php'nin zaman aşımına düşmeden nasıl işlem yaptırabilirim ?
    set_time_limit(0) yaz php dosyasının başına hocam.
  • 14-12-2021, 21:31:53
    #3
    İyi akşamlar,

    JSON içeriğini okuyup decode ederek foreach ile sırayla yaptırtabilirsiniz. Aşırı yoğun olmayan bir sistem ise php.ini dosyasından execution time'ı artırırsınız. Ya da JSON dosyasını bir editör aracılığıyla birkaç parça yapar sırayla işleme alırsınız.
  • 14-12-2021, 22:32:00
    #4
    HIDevelop adlı üyeden alıntı: mesajı görüntüle
    İyi akşamlar,

    JSON içeriğini okuyup decode ederek foreach ile sırayla yaptırtabilirsiniz. Aşırı yoğun olmayan bir sistem ise php.ini dosyasından execution time'ı artırırsınız. Ya da JSON dosyasını bir editör aracılığıyla birkaç parça yapar sırayla işleme alırsınız.
    Hocam sorumu biraz genişleteyim. İlk satırdaki verileri diziye atıyorum, sonra bu dizideki verileri değişkenlere atıyorum. İkinci satıra geçtiğimde yeniden bu döngüyü yapmam gerekiyor. Programlama bilgim çok fazla yok, biraz daha detaylı bilgi verebilir misiniz? Foreach döngüsünü sağlayabileceğimi düşünüyorum ama kodları nasıl bir silsile içerisinde yazacağımı tam kestiremiyorum. Yardımcı olursanız sevinirim. Örnek kodları aşağıda iletiyorum ;

    <?php
    include "mysqlBaglanti.php";
    
    $jsonDosyasi = file_get_contents('tek.json');
    $veri = json_decode($jsonDosyasi, true);
    
    echo '<pre>',print_r($veri,1),'</pre>';
    
    $madde_id = $veri['madde_id'];
    $kac = $veri['kac'];
    $kelime_no = $veri['kelime_no'];
    $cesit = $veri['cesit'];
    $anlam_gor = $veri['anlam_gor'];
    $on_taki = $veri['on_taki'];
    $madde = $veri['madde'];
    $cesit_say = $veri['cesit_say'];
    $anlam_say = $veri['anlam_say'];
    $taki = $veri['taki'];
    $cogul_mu = $veri['cogul_mu'];
    $ozel_mi = $veri['ozel_mi'];
    $lisan_kodu = $veri['lisan_kodu'];
    $lisan = $veri['lisan'];
    $telaffuz = $veri['telaffuz'];
    $birlesikler = $veri['birlesikler'];
    $font = $veri['font'];
    $madde_duz = $veri['madde_duz'];
    $gosterim_tarihi = $veri['gosterim_tarihi'];
    
    
    $sql = "INSERT INTO madde(madde_id, kac, kelime_no, cesit, anlam_gor, on_taki, madde, cesit_say, anlam_say, taki, cogul_mu, ozel_mi, lisan_kodu, lisan, telaffuz, birlesikler, font, madde_duz, gosterim_tarihi) VALUES ('$madde_id', '$kac', '$kelime_no', '$cesit', '$anlam_gor', '$on_taki', '$madde', '$cesit_say', '$anlam_say', '$taki', '$cogul_mu', '$ozel_mi', '$lisan_kodu', '$lisan', '$telaffuz', '$birlesikler', '$font', '$madde_duz', '$gosterim_tarihi')";
    if(!mysqli_query($baglan, $sql))    
    {
        die('Error : ' . mysql_error());
    }
    ?>
  • 14-12-2021, 22:40:00
    #5
    Trends adlı üyeden alıntı: mesajı görüntüle
    Hocam sorumu biraz genişleteyim. İlk satırdaki verileri diziye atıyorum, sonra bu dizideki verileri değişkenlere atıyorum. İkinci satıra geçtiğimde yeniden bu döngüyü yapmam gerekiyor. Programlama bilgim çok fazla yok, biraz daha detaylı bilgi verebilir misiniz? Foreach döngüsünü sağlayabileceğimi düşünüyorum ama kodları nasıl bir silsile içerisinde yazacağımı tam kestiremiyorum. Yardımcı olursanız sevinirim. Örnek kodları aşağıda iletiyorum ;

    <?php
    include "mysqlBaglanti.php";
    
    $jsonDosyasi = file_get_contents('tek.json');
    $veri = json_decode($jsonDosyasi, true);
    
    echo '<pre>',print_r($veri,1),'</pre>';
    
    $madde_id = $veri['madde_id'];
    $kac = $veri['kac'];
    $kelime_no = $veri['kelime_no'];
    $cesit = $veri['cesit'];
    $anlam_gor = $veri['anlam_gor'];
    $on_taki = $veri['on_taki'];
    $madde = $veri['madde'];
    $cesit_say = $veri['cesit_say'];
    $anlam_say = $veri['anlam_say'];
    $taki = $veri['taki'];
    $cogul_mu = $veri['cogul_mu'];
    $ozel_mi = $veri['ozel_mi'];
    $lisan_kodu = $veri['lisan_kodu'];
    $lisan = $veri['lisan'];
    $telaffuz = $veri['telaffuz'];
    $birlesikler = $veri['birlesikler'];
    $font = $veri['font'];
    $madde_duz = $veri['madde_duz'];
    $gosterim_tarihi = $veri['gosterim_tarihi'];
    
    
    $sql = "INSERT INTO madde(madde_id, kac, kelime_no, cesit, anlam_gor, on_taki, madde, cesit_say, anlam_say, taki, cogul_mu, ozel_mi, lisan_kodu, lisan, telaffuz, birlesikler, font, madde_duz, gosterim_tarihi) VALUES ('$madde_id', '$kac', '$kelime_no', '$cesit', '$anlam_gor', '$on_taki', '$madde', '$cesit_say', '$anlam_say', '$taki', '$cogul_mu', '$ozel_mi', '$lisan_kodu', '$lisan', '$telaffuz', '$birlesikler', '$font', '$madde_duz', '$gosterim_tarihi')";
    if(!mysqli_query($baglan, $sql))    
    {
        die('Error : ' . mysql_error());
    }
    ?>
    Hocam burada tek bir dosya gibi yaptırmışsınız işlemi. Umarım JSON içinde bir dizi olarak geliyordur. Onun da ilk birkaç satırından kısa bir örnek atsanız güzel olurdu. Tek değil de dizi olarak geliyorsa aşağıdaki örnekteki gibi yapılabilir.

    <?php
    
    include "mysqlBaglanti.php";
    
    $jsonDosyasi = file_get_contents('tek.json');
    $veriler = json_decode($jsonDosyasi, true);
    
    foreach ($veriler as $veri) {
        $madde_id = $veri['madde_id'];
        $kac = $veri['kac'];
        $kelime_no = $veri['kelime_no'];
        $cesit = $veri['cesit'];
        $anlam_gor = $veri['anlam_gor'];
        $on_taki = $veri['on_taki'];
        $madde = $veri['madde'];
        $cesit_say = $veri['cesit_say'];
        $anlam_say = $veri['anlam_say'];
        $taki = $veri['taki'];
        $cogul_mu = $veri['cogul_mu'];
        $ozel_mi = $veri['ozel_mi'];
        $lisan_kodu = $veri['lisan_kodu'];
        $lisan = $veri['lisan'];
        $telaffuz = $veri['telaffuz'];
        $birlesikler = $veri['birlesikler'];
        $font = $veri['font'];
        $madde_duz = $veri['madde_duz'];
        $gosterim_tarihi = $veri['gosterim_tarihi'];
    
        $sql = "INSERT INTO madde(madde_id, kac, kelime_no, cesit, anlam_gor, on_taki, madde, cesit_say, anlam_say, taki, cogul_mu, ozel_mi, lisan_kodu, lisan, telaffuz, birlesikler, font, madde_duz, gosterim_tarihi) VALUES ('$madde_id', '$kac', '$kelime_no', '$cesit', '$anlam_gor', '$on_taki', '$madde', '$cesit_say', '$anlam_say', '$taki', '$cogul_mu', '$ozel_mi', '$lisan_kodu', '$lisan', '$telaffuz', '$birlesikler', '$font', '$madde_duz', '$gosterim_tarihi')";
    
        if(!mysqli_query($baglan, $sql))    
        {
            die('Error : ' . mysql_error());
        }
    }   ?>
  • 14-12-2021, 22:45:59
    #6
    Olmadı hocam.

    Json dosyasından iki satır gönderiyorum. Yardımcı olabilir misiniz?

    {"_id":1,"madde_id":"1","kac":"0","kelime_no":"14800","cesit":"0","anlam_gor":"0","on_taki":null,"madde":"dulavrat otu","cesit_say":"0","anlam_say":"1","taki":null,"cogul_mu":"0","ozel_mi":"0","lisan_kodu":"0","lisan":"","telaffuz":null,"birlesikler":null,"font":null,"madde_duz":"dulavrat otu","gosterim_tarihi":null,"anlamlarListe":[{"anlam_id":"25840","madde_id":"1","anlam_sira":"1","fiil":"0","tipkes":"0","anlam":"Birleşikgillerden, hekimlikte kullanılan bir bitki (Arctium tomentosum)","gos":"0","ozelliklerListe":[{"ozellik_id":"19","tur":"3","tam_adi":"isim","kisa_adi":"a.","ekno":"30"},{"ozellik_id":"41","tur":"1","tam_adi":"bitki bilimi","kisa_adi":"bit. b.","ekno":"90"}]}]}
    {"_id":2,"madde_id":"2","kac":"0","kelime_no":"14801","cesit":"0","anlam_gor":"0","on_taki":null,"madde":"dulda","cesit_say":"1","anlam_say":"2","taki":null,"cogul_mu":"0","ozel_mi":"0","lisan_kodu":"0","lisan":"","telaffuz":null,"birlesikler":null,"font":null,"madde_duz":"dulda","gosterim_tarihi":null,"anlamlarListe":[{"anlam_id":"25841","madde_id":"2","anlam_sira":"1","fiil":"0","tipkes":"0","anlam":"Yağmur, güneş ve rüzgârın etkileyemediği gizli, kuytu yer, siper","gos":"0","orneklerListe":[{"ornek_id":"667","anlam_id":"25841","ornek_sira":"1","ornek":"Demirkır, güney tepelerinin duldalarına çektiği atları gece yarısına doğru yeniden ovaya indirdi.","kac":"1","yazar_id":"62","yazar":[{"yazar_id":"62","tam_adi":"Abbas Sayar","kisa_adi":"A. Sayar","ekno":"199"}]}],"ozelliklerListe":[{"ozellik_id":"19","tur":"3","tam_adi":"isim","kisa_adi":"a.","ekno":"30"},{"ozellik_id":"33","tur":"4","tam_adi":"halk ağzında","kisa_adi":"hlk.","ekno":"44"}]},{"anlam_id":"25842","madde_id":"2","anlam_sira":"2","fiil":"0","tipkes":"0","anlam":"Esirgeme, koruma, himaye","gos":"0","orneklerListe":[{"ornek_id":"668","anlam_id":"25842","ornek_sira":"1","ornek":"Yiğit duldasında yiğit saklanır.","kac":"1","yazar_id":"5","yazar":[{"yazar_id":"5","tam_adi":"Karacaoğlan","kisa_adi":"Karacaoğlan","ekno":"130"}]}],"ozelliklerListe":[{"ozellik_id":"32","tur":"4","tam_adi":"mecaz","kisa_adi":"mec.","ekno":"43"}]}],"atasozu":[{"madde_id":"3","madde":"dulda tutmak"}]}
    HIDevelop adlı üyeden alıntı: mesajı görüntüle
    Hocam burada tek bir dosya gibi yaptırmışsınız işlemi. Umarım JSON içinde bir dizi olarak geliyordur. Onun da ilk birkaç satırından kısa bir örnek atsanız güzel olurdu. Tek değil de dizi olarak geliyorsa aşağıdaki örnekteki gibi yapılabilir.

    <?php
    
    include "mysqlBaglanti.php";
    
    $jsonDosyasi = file_get_contents('tek.json');
    $veriler = json_decode($jsonDosyasi, true);
    
    foreach ($veriler as $veri) {
        $madde_id = $veri['madde_id'];
        $kac = $veri['kac'];
        $kelime_no = $veri['kelime_no'];
        $cesit = $veri['cesit'];
        $anlam_gor = $veri['anlam_gor'];
        $on_taki = $veri['on_taki'];
        $madde = $veri['madde'];
        $cesit_say = $veri['cesit_say'];
        $anlam_say = $veri['anlam_say'];
        $taki = $veri['taki'];
        $cogul_mu = $veri['cogul_mu'];
        $ozel_mi = $veri['ozel_mi'];
        $lisan_kodu = $veri['lisan_kodu'];
        $lisan = $veri['lisan'];
        $telaffuz = $veri['telaffuz'];
        $birlesikler = $veri['birlesikler'];
        $font = $veri['font'];
        $madde_duz = $veri['madde_duz'];
        $gosterim_tarihi = $veri['gosterim_tarihi'];
    
        $sql = "INSERT INTO madde(madde_id, kac, kelime_no, cesit, anlam_gor, on_taki, madde, cesit_say, anlam_say, taki, cogul_mu, ozel_mi, lisan_kodu, lisan, telaffuz, birlesikler, font, madde_duz, gosterim_tarihi) VALUES ('$madde_id', '$kac', '$kelime_no', '$cesit', '$anlam_gor', '$on_taki', '$madde', '$cesit_say', '$anlam_say', '$taki', '$cogul_mu', '$ozel_mi', '$lisan_kodu', '$lisan', '$telaffuz', '$birlesikler', '$font', '$madde_duz', '$gosterim_tarihi')";
    
        if(!mysqli_query($baglan, $sql))    
        {
            die('Error : ' . mysql_error());
        }
    }   ?>
  • 14-12-2021, 22:52:48
    #7
    Trends adlı üyeden alıntı: mesajı görüntüle
    Olmadı hocam.

    Json dosyasından iki satır gönderiyorum. Yardımcı olabilir misiniz?

    {"_id":1,"madde_id":"1","kac":"0","kelime_no":"14800","cesit":"0","anlam_gor":"0","on_taki":null,"madde":"dulavrat otu","cesit_say":"0","anlam_say":"1","taki":null,"cogul_mu":"0","ozel_mi":"0","lisan_kodu":"0","lisan":"","telaffuz":null,"birlesikler":null,"font":null,"madde_duz":"dulavrat otu","gosterim_tarihi":null,"anlamlarListe":[{"anlam_id":"25840","madde_id":"1","anlam_sira":"1","fiil":"0","tipkes":"0","anlam":"Birleşikgillerden, hekimlikte kullanılan bir bitki (Arctium tomentosum)","gos":"0","ozelliklerListe":[{"ozellik_id":"19","tur":"3","tam_adi":"isim","kisa_adi":"a.","ekno":"30"},{"ozellik_id":"41","tur":"1","tam_adi":"bitki bilimi","kisa_adi":"bit. b.","ekno":"90"}]}]}
    {"_id":2,"madde_id":"2","kac":"0","kelime_no":"14801","cesit":"0","anlam_gor":"0","on_taki":null,"madde":"dulda","cesit_say":"1","anlam_say":"2","taki":null,"cogul_mu":"0","ozel_mi":"0","lisan_kodu":"0","lisan":"","telaffuz":null,"birlesikler":null,"font":null,"madde_duz":"dulda","gosterim_tarihi":null,"anlamlarListe":[{"anlam_id":"25841","madde_id":"2","anlam_sira":"1","fiil":"0","tipkes":"0","anlam":"Yağmur, güneş ve rüzgârın etkileyemediği gizli, kuytu yer, siper","gos":"0","orneklerListe":[{"ornek_id":"667","anlam_id":"25841","ornek_sira":"1","ornek":"Demirkır, güney tepelerinin duldalarına çektiği atları gece yarısına doğru yeniden ovaya indirdi.","kac":"1","yazar_id":"62","yazar":[{"yazar_id":"62","tam_adi":"Abbas Sayar","kisa_adi":"A. Sayar","ekno":"199"}]}],"ozelliklerListe":[{"ozellik_id":"19","tur":"3","tam_adi":"isim","kisa_adi":"a.","ekno":"30"},{"ozellik_id":"33","tur":"4","tam_adi":"halk ağzında","kisa_adi":"hlk.","ekno":"44"}]},{"anlam_id":"25842","madde_id":"2","anlam_sira":"2","fiil":"0","tipkes":"0","anlam":"Esirgeme, koruma, himaye","gos":"0","orneklerListe":[{"ornek_id":"668","anlam_id":"25842","ornek_sira":"1","ornek":"Yiğit duldasında yiğit saklanır.","kac":"1","yazar_id":"5","yazar":[{"yazar_id":"5","tam_adi":"Karacaoğlan","kisa_adi":"Karacaoğlan","ekno":"130"}]}],"ozelliklerListe":[{"ozellik_id":"32","tur":"4","tam_adi":"mecaz","kisa_adi":"mec.","ekno":"43"}]}],"atasozu":[{"madde_id":"3","madde":"dulda tutmak"}]}
    Burada JSON dosyasında biraz işiniz var. JSON içinde array olarak düz gelse idi çalışırdı. JSON array'ın görünümü için aşağıya örnek bırakıyorum. Düzgün bir JSON olsa idi [{"id": "1", "name": "Ali"}, {"id": "1", "name": "Veli"} , {"id": "1", "name": "Cemal"}] şeklinde görünürdü.

    [
        {
            color: "red",
            value: "#f00"
        },
        {
            color: "green",
            value: "#0f0"
        },
        {
            color: "blue",
            value: "#00f"
        },
        {
            color: "cyan",
            value: "#0ff"
        },
        {
            color: "magenta",
            value: "#f0f"
        },
        {
            color: "yellow",
            value: "#ff0"
        },
        {
            color: "black",
            value: "#000"
        }
    ]
  • 14-12-2021, 23:02:56
    #8
    Hocam ard arda iki satır böyle karışık gelmiş. Birisinde ek satırlar var diğerinde ise yok, fazla olan satırlar her zaman yok. Eğer belli dizi değişkenleri yoksa onları null yap şeklinde bir if yapsak acaba çalıştırabilir miyiz?

    HIDevelop adlı üyeden alıntı: mesajı görüntüle
    Burada JSON dosyasında biraz işiniz var. JSON içinde array olarak düz gelse idi çalışırdı. JSON array'ın görünümü için aşağıya örnek bırakıyorum. Düzgün bir JSON olsa idi [{"id": "1", "name": "Ali"}, {"id": "1", "name": "Veli"} , {"id": "1", "name": "Cemal"}] şeklinde görünürdü.

    [
        {
            color: "red",
            value: "#f00"
        },
        {
            color: "green",
            value: "#0f0"
        },
        {
            color: "blue",
            value: "#00f"
        },
        {
            color: "cyan",
            value: "#0ff"
        },
        {
            color: "magenta",
            value: "#f0f"
        },
        {
            color: "yellow",
            value: "#ff0"
        },
        {
            color: "black",
            value: "#000"
        }
    ]
  • 14-12-2021, 23:06:10
    #9
    Trends adlı üyeden alıntı: mesajı görüntüle
    Hocam ard arda iki satır böyle karışık gelmiş. Birisinde ek satırlar var diğerinde ise yok, fazla olan satırlar her zaman yok. Eğer belli dizi değişkenleri yoksa onları null yap şeklinde bir if yapsak acaba çalıştırabilir miyiz?
    https://jsonformatter.curiousconcept.com/ bu siteden formatlamayı deneyince sorun çıkarıyorsa JSON bozuktur değilse düzgün çıktının ilk kaydı alacak şekilde tekrar örneğini atar mısınız?