@SteveJ42

Как сделать вывод данных по id?

Всем привет реализую блог с помощью MVC паттерна с своим маршрутизатором.
Как сделать вывод статей из БД по id?
Вот роут который обрабатывает этот запрос!
'article/([0-9]+)' => 'article/index/$1',
Вот модель получение всех данных по id!
public static function getArticleById($id)
    {
        
        $db = Db::getConnection();

        
        $sql = 'SELECT * FROM articles WHERE id';

        
        $result = $db->prepare($sql);

        
        $result->setFetchMode(PDO::FETCH_ASSOC);

        
        $result->execute();

        return $result->fetch();
    }

А вот контроллер который обрабатывает этот запрос!
class ArticleController
{
	public function actionIndex($articleId)
	{
		$article = Article::getArticleById($id);
		require_once (ROOT . '/views/article/view.php');
		return true;
	}
}

Как только я поместил метод в $article в контроллере. Я использую его в представление echo $article['name'];?> вывожу это в теге HTML. Но почему то всегда выводит только первую запись из бд. Допустим когда перехожу с страницы всех новостей на третью по счету новость. Открывается только первая по счету новость. Конечная цель это реализовать страницу показа одной новости по id.
Всем заранее спасибо!
  • Вопрос задан
  • 724 просмотра
Решения вопроса 1
@galaxy
$sql = 'SELECT * FROM articles WHERE id = ?';
$result = $db->prepare($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result->execute([$id]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы