رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
لینک کردن نام به پروفایل
#1
سلام
من از یک فایل json میخوام مقادیر name و link رو بگیرم و name رو لینک کنم به پروفایل کابران...
ولی کد رو اجرا میکنم یک اسم از اخرین گروه کاربری رو برمیگردونه نه از گروه admin2
<?php
    $str = file_get_contents('test.json');
   $values = json_decode($str);
   $groups = [];
       foreach ($values as $key => $value) {
       $groups[$key] = [];
           foreach($value as $items) {
               $groups[$key][] = $item->name;
$groups[$key][] = $item->link;
           }
       }
       foreach($groups['admin2'] as $name,$link) {
       echo "<p><a href="http://test.com/forums/". $link . ""target="_blank">" . $name. "</a></p>";

   }
?>
مشکل چیه؟
پاسخ
تشکر شده توسط:
#2
توی این قبیل سؤالات، خیلی خوب میشه اگه محتوای فایل رو هم بگذارین تا بفهمیم کد درست برای رسیدن به نتیجه با اون JSON خاص چیه و بتونیم راهنمایی کنیم.
پاسخ
تشکر شده توسط:
#3
بله استاد حق با شماست  Heart
عذر میخوام
{
 "admin": {
"1": {
"name": "Amir",
"link": "member.php?1-Amir",
"image": "image.php?s=f39f15453d522ed5e4"
}
},
"admin2": {
"144": {
"name": "Ali",
"link": "member.php?144-Ali",
"image": "image.php?s=f39f15453d522ed5e7"
},
"268": {
"name": "Reza",
"link": "member.php?268-Reza",
"image": "image.php?s=f39f15453d522ed5e5"
}
}
}
پاسخ
تشکر شده توسط:
#4
به این کد دقت کنید:
<?php
$str = <<<EOT
{
 "admin": {
"1": {
"name": "Amir",
"link": "member.php?1-Amir",
"image": "image.php?s=f39f15453d522ed5e4"
}
},
"admin2": {
"144": {
"name": "Ali",
"link": "member.php?144-Ali",
"image": "image.php?s=f39f15453d522ed5e7"
},
"268": {
"name": "Reza",
"link": "member.php?268-Reza",
"image": "image.php?s=f39f15453d522ed5e5"
}
}
}
EOT;

$json = json_decode($str);
foreach($json as $key => $value) {
    echo '<h2>' . $key . '</h2>';
    foreach($value as $index => $item) {
        echo '<p><strong>' . $index . ' :</strong> <a href="' . $item->link . '">' . $item->name . '</a></p>';
    }
    echo '<hr />';
}
?>

این هم نمونه‌ی خروجی تولیدشده:
   
پاسخ
تشکر شده توسط: amir76
#5
استاد خیلی ممنون مشکلم حل شد  Heart Heart Heart

استاد ببخشید این سوال آخرمه 

اگر فقط بخوام فقط یوزر های admin2 رو برگردونم باید برای key بگم admin2

به این صورت میشه؟

$json = json_decode($str);
foreach($json as $key[admin2] => $value) {
   echo '<h2>' . $key . '</h2>';
   foreach($value as $index => $item) {
       echo '<p><strong>' . $index . ' :</strong> <a href="' . $item->link . '">' . $item->name . '</a></p>';
   }
   echo '<hr />';
}
پاسخ
تشکر شده توسط:
#6
خیر. باید اینطوری بنویسید:
foreach($json->admin2 as $index => $item) {
    echo '<p><strong>' . $index . ' :</strong> <a href="' . $item->link . '">' . $item->name . '</a></p>';
}
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 3 مهمان