• 10-08-2022, 17:12:58
    #1
    Merhaba arkadaşlar aşağıdaki gibi bir kodum var ".$marka." yazan kısmı get ile alabiliyorum fakat bunu otomatik bir json ya da excel dosyasından ya da farklı bir yöntem alıp nasıl okutabilirim. Php dosyasını çalıştırdığımda 50 marka varsa hepsini tarasın istiyorum.

        $json=file_get_contents("https://xxx.com/xxxx?marka=".$marka."", false, stream_context_create($arrContextOptions));
        $data =  json_decode($json);
    
        if (count($data->urunkList)) {
    
    foreach ($data->urunkList as $idx => $urunkList) {
    
    $urunkList ->fiyat
            
        }
     }
  • 10-08-2022, 17:18:09
    #2
    marka değişkeninden gelen örnek veriyi ekler misiniz
  • 10-08-2022, 17:18:18
    #3
    Markalar bellidir değişen bir şey değildir diyerek düşünüyorum ve aklıma gelen yöntem..

    1-Php de marka isminde bir dizi oluşturun.
    2-Bu dizideki marka sayısı kadar bir while veya for döngüsü oluşturup, içerisine konunuzdaki kodları ekleyin
    3-Yukarıdaki kodunuzu $marka[artış_degiskeni] olacak şekilde düzenleyin. Tamamdır

    Artık her çalıştırıldığında markalardaki ürünleri tek tek çekecektir.
  • 10-08-2022, 17:24:58
    #4
    ErayEfe adlı üyeden alıntı: mesajı görüntüle
    marka değişkeninden gelen örnek veriyi ekler misiniz
    Markalar da ayrı bir url json dosyasından geliyor

    {"markalist":[{"marka":"iphone"},{"marka":"lg"}]}
  • 10-08-2022, 17:36:49
    #5
    Djstation adlı üyeden alıntı: mesajı görüntüle
    Markalar da ayrı bir url json dosyasından geliyor

    {"markalist":[{"marka":"iphone"},{"marka":"lg"}]}
       $json=file_get_contents("https://xxx.com/xxxx?marka=".$marka."", false, stream_context_create($arrContextOptions));
        $data =  json_decode($json);
     
        if (count($data->urunkList)) {
     
    foreach ($data->urunkList as $idx => $urunkList) {
     
    $urunkList ->fiyat
    foreach ($data[0] as $degisken1 => $degiken2) {
    echo $degisken1." ".$degisken2." <br>";
    }
            
        }
     }
    data[0] buradaki sıfır değişebilir. tüm jsonu bilmediğim için sıfırı kullandım.
  • 10-08-2022, 17:42:38
    #6
    <?php
    if (isset($_POST['marka'])) {
        header('Content-type: application/json');
        // get_contents kodları burada yer alacak, çekilecek sayfadaki yapılacak işlemler
    
        exit(json_encode(array('status' => true)));
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style type="text/css">
            ul {
                font-family: Verdana;
                margin: 0;
                padding: 35px;
                list-style: none;
            }
    
            ul li.xhr {
    
            }
    
            ul li.ok {
                color: green;
                font-weight: bold;
            }
    
            ul li.ok:after {
                content: "~ Successfully";
                opacity: .5;
                margin-left: 5px;
            }
    
            ul li.fail {
                color: red;
                font-weight: bold;
            }
    
            ul li.fail:after {
                content: "~ Fail";
                opacity: .5;
                margin-left: 5px;
            }
        </style>
    </head>
    <body>
        
        <ul>
            
        </ul>
    
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
    <script>
        let markalist = [
            {marka: "iphone"},
            {marka: "lg"},
            {marka: "QuarkChain"}
        ];
    
        $.each(markalist, function(index, item){
            $("ul").append($("<li>").data("marka", item.marka).text(item.marka));
        });
    
        let get_brand = function(){
            let li = $("ul li:not(.xhr)").first();
    
            if ( ! li.length) return;
    
            $.ajax({
                url: "",
                type: "POST",
                dataType: "JSON",
                data: {marka: li.data("marka")},
                success: function(json){
                    li.addClass("xhr");
    
                    if (json.status) {
                        li.addClass("ok");
                    } else {
                        li.addClass("fail");
                    }
                    
                    get_brand();
                }
            });
        }
    
        get_brand();
    </script>
    </body>
    </html>
  • 10-08-2022, 18:12:32
    #7
    Teşekkürler ama maalesef bunlar değil

    ErayEfe adlı üyeden alıntı: mesajı görüntüle
       $json=file_get_contents("https://xxx.com/xxxx?marka=".$marka."", false, stream_context_create($arrContextOptions));
        $data =  json_decode($json);
     
        if (count($data->urunkList)) {
     
    foreach ($data->urunkList as $idx => $urunkList) {
     
    $urunkList ->fiyat
    foreach ($data[0] as $degisken1 => $degiken2) {
    echo $degisken1." ".$degisken2." <br>";
    }
            
        }
     }
    data[0] buradaki sıfır değişebilir. tüm jsonu bilmediğim için sıfırı kullandım.
    QuarkChain adlı üyeden alıntı: mesajı görüntüle
    <?php
    if (isset($_POST['marka'])) {
        header('Content-type: application/json');
        // get_contents kodları burada yer alacak, çekilecek sayfadaki yapılacak işlemler
    
        exit(json_encode(array('status' => true)));
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style type="text/css">
            ul {
                font-family: Verdana;
                margin: 0;
                padding: 35px;
                list-style: none;
            }
    
            ul li.xhr {
    
            }
    
            ul li.ok {
                color: green;
                font-weight: bold;
            }
    
            ul li.ok:after {
                content: "~ Successfully";
                opacity: .5;
                margin-left: 5px;
            }
    
            ul li.fail {
                color: red;
                font-weight: bold;
            }
    
            ul li.fail:after {
                content: "~ Fail";
                opacity: .5;
                margin-left: 5px;
            }
        </style>
    </head>
    <body>
        
        <ul>
            
        </ul>
    
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
    <script>
        let markalist = [
            {marka: "iphone"},
            {marka: "lg"},
            {marka: "QuarkChain"}
        ];
    
        $.each(markalist, function(index, item){
            $("ul").append($("<li>").data("marka", item.marka).text(item.marka));
        });
    
        let get_brand = function(){
            let li = $("ul li:not(.xhr)").first();
    
            if ( ! li.length) return;
    
            $.ajax({
                url: "",
                type: "POST",
                dataType: "JSON",
                data: {marka: li.data("marka")},
                success: function(json){
                    li.addClass("xhr");
    
                    if (json.status) {
                        li.addClass("ok");
                    } else {
                        li.addClass("fail");
                    }
                    
                    get_brand();
                }
            });
        }
    
        get_brand();
    </script>
    </body>
    </html>
  • 10-08-2022, 18:52:57
    #8
    <?php
    $brand = json_decode(file_get_contents('marka_json_url'));
    
    foreach ($brand->markalist as $item) {
        $data = json_decode(file_get_contents('https://xxx.com/xxxx?marka=' . $item->marka, false, stream_context_create($arrContextOptions)));
    
        if (count($data->urunkList)) {
            foreach ($data->urunkList as $idx => $urunkList) { 
                // bla bla
            }
        } 
    }
  • 11-08-2022, 11:07:04
    #9
    Harikasın hocam eline sağlık istediğim buydu.

    QuarkChain adlı üyeden alıntı: mesajı görüntüle
    <?php
    $brand = json_decode(file_get_contents('marka_json_url'));
    
    foreach ($brand->markalist as $item) {
        $data = json_decode(file_get_contents('https://xxx.com/xxxx?marka=' . $item->marka, false, stream_context_create($arrContextOptions)));
    
        if (count($data->urunkList)) {
            foreach ($data->urunkList as $idx => $urunkList) {
                // bla bla
            }
        }
    }