v2.5.2
Giriş yap

json verisini result edemiyorum (: Çözüldü :)

kartal
595 defa görüntülendi

Formdan aldım
Bu şekle soktum :

[{"beden":["SMALL","MEDIUM","LARGE","X-LARGE"],"tip":"radio","özellik_adı":"beden"},{"renkler":["Beyaz","Gri","Siyah"],"tip":"radio","özellik_adı":"renkler"}]


Ama önce şu şekilde result etmek istiyorum tabii veritabanından da aynı şekilde çekerken de.

Özellik Adı : Beden
Özellikler : SMALL, MEDIUM, LARGE, X-LARGE
Tip : Radio

Özellik Adı : Renkler
Özellikler : Beyaz, Gri, Siyah
Tip : Radio

Bunları Ürün sayfasında düzenleyeceğim saatlerdir yapamadım. :)

Cevap yaz
Cevaplar (3)
kartal
1572 gün önce

Özellik isimleri Renkler, Beden, Ölçüler vs. kullanıcı tarafından belirleniyor siteye ürün eklerken.

kartal
1572 gün önce

Bende az evvel şöyle yaptım olur herhalde, hangisi mantıklı beden ve renkler kullanıcı tarafından belirleniyor ürün eklerken.

$jsn = json_encode($newarr,JSON_UNESCAPED_UNICODE);

				$jsn1 = json_decode($jsn);
				//print_r($jsn);
				echo "<hr>";
				foreach ($jsn1 as $k =>  $v) {
					
					
					$ozellikad = $v->özellik_adı;
					
					echo "<h2>".$ozellikad."</h2>";
					
					foreach ($jsn1[$k]->$ozellikad as $ozval) {
						echo $ozval."-";
					}
					echo "<br>";
					echo "Tip : ".$v->tip."<br>";

				}
tayfunerbilen
1572 gün önce

json'da beden ve renkler yerine degerler gibi bir key kullanırsan daha sağlıklı olur. Yine de bu haliyle şöyle yapabilirsin;

<?php

$json = '[
    {
        "beden": ["SMALL","MEDIUM","LARGE","X-LARGE"],
        "tip":"radio",
        "özellik_adı":"beden"
     },
     {
         "renkler": ["Beyaz","Gri","Siyah"],
         "tip":"radio",
         "özellik_adı":"renkler"
     }
]';
$array = json_decode($json, true);

foreach ($array as $item){
    echo "Özellik adı: {$item['özellik_adı']}<br>Özellikler: " . implode(',', array_shift($item)) . "<br>Tip: {$item['tip']}<hr>";
}

?>