Анонс статьи (работа с массивом)?

помогите пожалуйста уже целый день хожу и не пойму как сделать обрезание строки из двумерного массива и вывести это во вьюшке и так сам код что мы имеем в модели :
function articles_all()
{
    // Запрос.
    $query = "SELECT * FROM articles ORDER BY id_article DESC";
    $result = mysql_query($query);

    if (!$result)
        die(mysql_error());

    // Извлечение из БД.
    $n = mysql_num_rows($result);
    $articles = array();

    for ($i = 0; $i < $n; $i++)
    {
        $row = mysql_fetch_assoc($result);
        $articles[] = $row;
    }

    return $articles;
}


// Короткое описание статьи
//
function articles_intro($articles)
{
   

        if (strlen($article['content']) > 150)
        {
            return mb_substr($article['content'], 0, 150, 'UTF-8');

        } else
        {
            return $article['content'];
        }
    
}


в контроллере мы имеем
include_once('startup.php');
include_once('model.php');

// Установка параметров, подключение к БД, запуск сессии.
startup();

$articles = articles_all();
// Пытаюсь вот так обрезать то есть перезаписать поле в массиве.
foreach ($articles as $article)
    $article['content'] = articles_intro($article);


// Кодировка.
header('Content-type: text/html; charset=utf-8');

// Вывод в шаблон.
include('theme/index.php');


ну и вьюшка :
<? foreach ($article as $article): ?>
			
				<a href="article.php?id=<?=$article['id_article']?>">
				<?=$article['title']?>	
				</a> <br />
                <?=$article['content']?><br /><br />
			
		<? endforeach ?>


как мне сделать так чтобы вьюшка не общалась с моделью а обработка происходила именно в контроллере не хочу вставлять костыль во вьюшку типа
<? foreach ($article as $article): ?>
			
				<a href="article.php?id=<?=$article['id_article']?>">
				<?=$article['title']?>	
				</a> <br />
                <?=articles_intro($article['content'])?><br /><br />
			
		<? endforeach ?>
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
У вас странное понимание моделей, контроллеров, и вьюшек.
Используйте Laravel, не тратьте нервы.
Ну или хотя-бы ООП...

Да и в том коде, что вы предоставили - вьюшка не "общается" с моделью. В вашем "контроллере" вы задаете значение content как результат функции articles_intro, соответственно в вашей "вьюшке" вы должны выводить это значение.

Да простят меня боги за то, что я это называю данными терминами.
Ответ написан
Ваш ответ на вопрос

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

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