• 14-01-2019, 18:51:12
    #1
    Merhaba piyasada bulunan kodlar ile kargolanmış siparişlerin listesini alıyorum. Fakat incelediğimden anladığım tek siparişte birden fazla ürün siparişi olduğunda hata mesajı ile karşılaşıyorum.

    Örnek kod:
    $say=count($DetailedOrderList->orderList->order);
    echo "<table border='1' cellpadding='5' cellspacing='0'>";
    for($i = 0; $i < $say; $i++ )
    {
        echo "<tr>";
        echo "<td><table border='1' cellpadding='5' cellspacing='0' width='100%'><tbody>";
        echo "<tr><th>ID:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->id;
        echo "</td></tr>";
        echo "<tr><th>Sipariş No:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->orderNumber;
        echo "</td></tr>";
        echo "<tr>";
        echo "<th>Ürün Adı:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->orderItemList->orderItem->productName;
        echo "</td></tr>";
        echo "<tr><th>Sipariş Tarih:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->createDate;
        echo "</td></tr>";  echo "<tr><th>Sipariş Tutar:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->totalAmount."TL";
        echo "</td></tr>";
    echo "</td></tr>";
    echo "<tr>";
    echo "<th>Ürün Detay:</th><td><a href='urundetay.php?id=".($DetailedOrderList->orderList->order[$i]->orderItemList->orderItem->productSellerCode)."'>";
    echo $DetailedOrderList->orderList->order[$i]->orderItemList->orderItem->productName;
    echo "</a> x ".$DetailedOrderList->orderList->order[$i]->orderItemList->orderItem->quantity."</td></tr>";
        echo "<tr><th>Detaylar:</th><td colspan='2'>";
        echo "<a href='siparisdetay.php?sip=".($DetailedOrderList->orderList->order[$i]->id)."'>Sipariş Detayı</a>";
        echo "</td></tr>";
        echo "</tbody></table></td>";
    }
    echo "</table>";
    ?>
    var_dump ile direk çıktı aldığımda tek adetli siparişteki çıktı

    ["orderList"]=> object(stdClass)#5 (1)
    {
    ["order"]=> array(14)
    {
    [0]=> object(stdClass)#6 (8)
    {
    ["id"]=> int(180492925)
    ["status"]=> int(2)
    ["orderNumber"]=> string(12) "208553775281"
    ["totalAmount"]=> string(2) "75"
    ["paymentType"]=> int(1)
    ["citizenshipId"]=> string(11) "11627827970"
    ["orderItemList"]=> object(stdClass)#7 (1)
    {
    ["orderItem"]=> object(stdClass)#8 (15)
    {
    ["id"]=> int(125720803)
    ["productSellerCode"]=> string(6) "mfp50d"
    ["price"]=> string(2) "75"
    ["sellerDiscount"]=> string(1) "0"
    ["mallDiscount"]=> string(1) "0"
    ["commission"]=> string(5) "11.25"
    ["status"]=> int(6)
    ["quantity"]=> int(1)
    ["productName"]=> string(64) "Maria Fla-Pen Shallow 85mm 12 gr Slow Sinking Maket Yem Renk 50D"
    ["deliveryFeeType"]=> int(1)
    ["dueAmount"]=> string(2) "75"
    ["shipmentInfo"]=> object(stdClass)#9 (6)
    {
    ["shipmentCompany"]=> object(stdClass)#10 (3)
    {
    ["id"]=> int(342)
    ["name"]=> string(9) "MNG Kargo"
    ["shortName"]=> string(2) "MN"
    }
    ["trackingNumber"]=> string(12) "689126506231"
    ["shipmentCode"]=> int(117801229)
    ["campaignNumber"]=> string(15) "914101401218293"
    ["shipmentMethod"]=> string(1) "1"
    ["campaignNumberStatus"]=> int(1)
    }
    
    ["attributes"]=> object(stdClass)#11 (0) { }
    ["customTextOptionValues"]=> object(stdClass)#12 (0) { }
    ["updatedDate"]=> string(16) "12/01/2019 16:44"
    }
    }
    ["createDate"]=> string(16) "12/01/2019 10:39"
    }
    }
    }
    Tek siparişte A Ürün B Ürün olduğunda
    var_dump ile aldığım method çıktısı
    [1]=> object(stdClass)#13 (8)
    {
    ["id"]=> int(180505297)
    ["status"]=> int(2)
    ["orderNumber"]=> string(12) "202851175283"
    ["totalAmount"]=> string(3) "298"
    ["paymentType"]=> int(8)
    ["citizenshipId"]=> string(11) "14851264900"
    ["orderItemList"]=> object(stdClass)#14 (1)
    {
    ["orderItem"]=> array(2)
    {
    [0]=> object(stdClass)#15 (15)
    {
    ["id"]=> int(125738581)
    ["productSellerCode"]=> string(6) "981216"
    ["price"]=> string(3) "200"
    ["sellerDiscount"]=> string(1) "0"
    ["mallDiscount"]=> string(1) "0"
    ["commission"]=> string(2) "30"
    ["status"]=> int(6)
    ["quantity"]=> int(1)
    ["productName"]=> string(44) "Victorinox 0.7322.T2 Swisscard Lite Sapphire"
    ["deliveryFeeType"]=> int(5)
    ["dueAmount"]=> string(6) "183.22"
    ["shipmentInfo"]=> object(stdClass)#16 (6)
    {
    ["shipmentCompany"]=> object(stdClass)#17 (3)
    {
    ["id"]=> int(342)
    ["name"]=> string(9) "MNG Kargo"
    ["shortName"]=> string(2) "MN"
    }
    ["trackingNumber"]=> string(12) "791428196641"
    ["shipmentCode"]=> int(117818634)
    ["campaignNumber"]=> string(15) "946701511246340"
    ["shipmentMethod"]=> string(1) "1"
    ["campaignNumberStatus"]=> int(1)
    }
    ["attributes"]=> object(stdClass)#18 (0) { }
    ["customTextOptionValues"]=> object(stdClass)#19 (0) { }
    ["updatedDate"]=> string(16) "12/01/2019 16:44"
    }
    [1]=> object(stdClass)#20 (15)
    {
    ["id"]=> int(125738580)
    ["productSellerCode"]=> string(6) "981149"
    ["price"]=> string(2) "98"
    ["sellerDiscount"]=> string(1) "0"
    ["mallDiscount"]=> string(1) "0"
    ["commission"]=> string(4) "14.7"
    ["status"]=> int(6)
    ["quantity"]=> int(1)
    ["productName"]=> string(32) "Victorinox 0.2503 Recruit Çakı"
    ["deliveryFeeType"]=> int(5)
    ["dueAmount"]=> string(5) "89.78"
    ["shipmentInfo"]=> object(stdClass)#21 (6)
    {
    ["shipmentCompany"]=> object(stdClass)#22 (3)
    {
    ["id"]=> int(342)
    ["name"]=> string(9) "MNG Kargo"
    ["shortName"]=> string(2) "MN"
    }
    ["trackingNumber"]=> string(12) "791428196641"
    ["shipmentCode"]=> int(117818634)
    ["campaignNumber"]=> string(15) "946701511246340"
    ["shipmentMethod"]=> string(1) "1"
    ["campaignNumberStatus"]=> int(1)
    }
    ["attributes"]=> object(stdClass)#23 (0) { }
    ["customTextOptionValues"]=> object(stdClass)#24 (0) { }
    ["updatedDate"]=> string(16) "12/01/2019 16:44"
    }
    }
    }
    ["createDate"]=> string(16) "12/01/2019 13:50"
    }
    Çıktı bu şekilde geldiğinde
    echo "<th>Ürün Adı:</th><td>";
        echo $DetailedOrderList->orderList->order[$i]->orderItemList->orderItem->productName;
    Bu satırda hata alıyorum. Nasıl bir yol izlemeliyim. Konu hakkında tecrübeli arkadaşların yardımına ihtiyacım var.
  • 14-01-2019, 19:23:37
    #2
    N11 e bot yapıyoruz. O sorun apiden kaynaklı bir sorun yani o konuya çok kez farklı kontroller yazmalısınız. Müşteri bilgilerini çekmek isterseniz ilk ürünü onaylayın öyle yapın