【问题标题】:Manipulate PDO Object Results Into a Template将 PDO 对象结果操作到模板中
【发布时间】:2019-03-08 13:16:45
【问题描述】:

我正在制作一个新闻页面,每次管理员在“新闻”表中添加一行时,该页面都会更新。行如下:

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
消息:$消息

而且我希望它是动态的,所以无论表格中有多少行,总会有一个模板帖子,其中包含帖子数据。

任何帮助将不胜感激,在这个问题上停留了很长一段时间。

谢谢!

【问题讨论】:

    标签: php mysql laravel pdo


    【解决方案1】:

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

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 2015-12-13
      • 2019-10-11
      • 1970-01-01
      • 2011-01-23
      • 2016-06-22
      • 2014-03-25
      相关资源
      最近更新 更多