Задать вопрос
@Silverlight89
Учусь создавать сайты

Как вывести данные из json с сохранением в базу данных?

Без применения YII2 можно было бы просто задействовать такой код:
<?

class Json2Table
{
    public static function formatContent($content, $class = 'table table-bordered')
    {
        $html = "";
        if ($content != null) {
            $arr = json_decode(strip_tags($content), true);
            
            if ($arr && is_array($arr)) {
                $html .= self::arrayToHtmlTableRecursive($arr, $class);
            }
        }
        return $html;
    }

    public static function arrayToHtmlTableRecursive($arr, $class = 'table table-bordered')
    {
        $str = "<table class='$class'><tbody>";
        foreach ($arr as $key => $val) {
            $str .= "<tr>";
            $str .= "<td>$key</td>";
            $str .= "<td>";
            if (is_array($val)) {
                if (! empty($val)) {
                    $str .= self::arrayToHtmlTableRecursive($val, $class);
                }
            } else {
                $val = nl2br($val);
                $str .= "<strong>$val</strong>";
            }
            $str .= "</td></tr>";
        }
        $str .= "</tbody></table>";
        
        return $this->render('Books'[],'json');
    }
}
, а как реализовать аналог этого кода на Yii2?
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@basili4-1982
так он ничего не сохраняет. Это просто вьюха. Делаете файл в ./view/file.php

это все туда

вместо return $this->render('Books'[],'json');
return $str;

и добавьте вызов

Json2Table::formatContent($json)

В контроллере вызывайте рендер вьюхи и передавайте в нее json в переменную $json

например
$this->render('books',['json'=>$json]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы