将pdo对象结果操纵到模板中

b4lqfgs4  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(289)

我正在制作一个新闻页面,每当管理员在“news”表中添加一行时,它都会更新。行如下所示:
id,posttitle,postdate,postauthor,消息
我创造了一个 foreach 获取从该表检索到的所有数据并从嵌套数组获取数据的循环:

<?php

$pdo->beginTransaction();
$query = $pdo->prepare("SELECT * FROM news");
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);

foreach($results as $row) {
    foreach($row as $key => $value) {
        dump( $key . " = " . $value);
    }
}

$pdo->commit();
?>

这将输出以下数据:
(表中的所有数据)

"id = 1"
"posttitle = Welcome To Universal Link Media Group"
"postdate = 2018-10-02"
"postauthor = Ethan (Super Administrator)"
"message = Dummy Text. "

现在是我的问题。我想为每个帖子创建一个模板。所以他们是统一的。每篇文章将有一个'标题'字段,一个'日期'字段,一个'作者'字段等。。。我想把表中的值放到字段中。
它看起来像这样:
职位:$posttitle
作者:$postauthor
创建日期:$postdate
消息:$message
我希望它是动态的,所以不管表中有多少行,总会有一个模板post,其中包含posts数据。
任何帮助都将不胜感激,因为我在这个问题上耽搁了很长时间。
谢谢!

ubby3x7f

ubby3x7f1#

要获得所需的输出,只需将循环更改为:

foreach($results as $row) {
  echo 'TITLE: ' . $row->posttitle . '<br>';
  echo 'AUTHOR: ' . $row->postauthor . '<br>';
  echo 'DATE CREATED: ' . $row->postdate . '<br>';
  echo 'MESSAGE: ' . $row->message . '<br>';
}

如果你真的想 Templates ,您应该了解一些模板语言,如 Twig . https://twig.symfony.com/

相关问题