具有循环功能的 PHP HTML 模板

2023-11-29

我想请求一些有关如何在模板内实现循环的帮助和想法。我可以在下面进行 foearch,但如何将其包含到模板中并在结果中显示它。

foreach($results as $row) {
 $name = $row['name'];
 $address = $row['address'];
}

我想要实现的结果如下所示,以及如何放置 $template->publish();放在一个变量中,这样我就可以使用它将该数据存储到数据库中。多谢。

<html>
<head>
<title>My Template Class</title>
</head>
<body>
<table><tr>
<td>
<h3>Hello William!</h3>
<p>The time is: 03/10/04</p>
<p>Embedded PHP works too!</p>
<p>Name goes here</p>
<p>Address goes here </p>
</td>

<td>
<h3>Hello William!</h3>
<p>The time is: 03/10/04</p>
<p>Embedded PHP works too!</p>
<p>Name goes here</p>
<p>Address goes here </p>
</td>

<td>
<h3>Hello William!</h3>
<p>The time is: 03/10/04</p>
<p>Embedded PHP works too!</p>
<p>Name goes here</p>
<p>Address goes here </p>
</td>
</tr>
</table>
</body>
</html>

模板类

<?
class Template {
   public $template;
   function load($filepath) {
      $this->template = file_get_contents($filepath);
   }
   function replace($var, $content) {
      $this->template = str_replace("#$var#", $content, $this->template);
   }
   function publish() {
            eval("?>".$this->template."<?");
   }
}
?>

模板design.html

<html>
<head>
<title>#title#</title>
</head>
<body>
<h3>Hello #name#!</h3>
<p>The time is: #datetime#</p>
<? echo "<p>Embedded PHP works too!</p>"; ?>
</body>
</html>

索引.php

<?
include "template.class.php";
$template = new Template;
$template->load("design.html");
$template->replace("title", "My Template Class");
$template->replace("name", "William");
$template->replace("datetime", date("m/d/y"));
$template->publish();
?>

PHP 可以用作非常基本的模板引擎,并且对于小型或教育项目来说非常有用。然而,更复杂的项目将需要更复杂的引擎,例如 Twig。

尽管如此,原则将保持不变。首先准备好数据:

$pagetitle = "My Template Class";
foreach($results as $row) {
  $row['date'] = date("m/d/y");
  $data[] = $row;
}
$data = chunk_split($data,3);    

然后租一个模板。如果使用 PHP 模板,只需include a .php文件如下所示。

Note在 HTML 中输出任何数据时,必须始终转义 HTML 控制字符。

<html>
<head>
<title><?= htmlspecialchars($pagetitle) ?></title>
</head>
<body>
 <table>
<?php foreach ($data as $chunk): ?>
  <tr>
<?php     foreach ($chunk as $row): ?>
   <td>
    <h3>Hello <?= htmlspecialchars($name) ?>!</h3>
    <p>The time is: <?= htmlspecialchars($date) ?></p>
    <p><?= htmlspecialchars($address) ?></p>
   </td>
<?php     endforeach ?>
  </tr>
<?php endforeach ?>
 </table>
</body>
</html>

我让你的例子变得更复杂一些,但更接近现实生活。
它将按行打印您的表格,每行 3 列

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有循环功能的 PHP HTML 模板 的相关文章

  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 何时使用
    换行符 vs CSS 定位?

    我经常想知道如何正确使用 br 越线 似乎它们经常被错误地用于定位或清除应该使用 CSS 的内容 W3schoools org 说使用 br 适用于空白行 但不适用于创造或分离 http www w3schools com tags tag
  • 允许指针(单击)事件穿过元素,同时保持滚动功能

    我的目标是拥有一个允许 下面要点击 交互的元素 滚动 众所周知 1 的解是pointer events none 这正如中所描述的单击 DIV 到底层元素 https stackoverflow com questions 3680429
  • SVG 坐标与变换矩阵

    我想在矩形元素上实现像 svg edit 这样的功能 旋转矩形 调整大小 Drag 旋转 SVG 矩形效果很好 但是当我想调整矩形大小时 它就会出现问题 坐标不正确 我使用变换矩阵来旋转targetelement setAttribute
  • 如何在 Chrome 中实现抓取光标图标?

    我知道可以在 Chrome 中使用抓取光标图标 当然是在 Gmail 中 但我不知道如何在我的代码中实现它 我已经尝试过 在CSS中 body cursor grab body cursor webkit grab body cursor
  • 为什么 mysqli num_rows 总是返回 0?

    我在使用 mysqli 获取要返回的行数时遇到了问题 尽管确实有一些结果 但我每次都只是得到 0 if stmt mysqli gt prepare SELECT id title visible parent id FROM conten
  • 如何使用表单上的提交按钮传递参数

    我想创建一个可以更改 PHP 制作的 mySQL 中的产品数据的程序 我有自动递增并指定每个产品的键列 当我单击编辑产品链接时 它将传递我从每个产品获得的键值 并链接到 editPage php Key data Key a href ed
  • 滚动时静态标题

    我编写了一个主页 现在我正在尝试构建一个标题 该标题是静态的 就像在滚动内容时不滚动一样 当内容位于其下方时 它应该保持在顶部 我找到了这个解决方案here https stackoverflow com questions 9677894
  • PHP - 发送带有附件的电子邮件不显示消息内容

    尝试创建一个脚本 我可以在其中发送带有附件的电子邮件 一切正常 除了当我不在电子邮件中添加文件时 我仍然可以看到带有 0B 且没有名称的附件 if isset POST my send email to POST my email to r
  • 具有固定高度、自动宽度并保持比例的图像

    我有一个反应灵敏的ul列表 其中每个li是 50 ul宽度 每一个li 我有一个图像 我想要固定的高度和 100 的宽度 保持图像的比例 例如通过缩放 请问我该怎么做 ul width 100 li width 50 float left
  • Laravel 5 / Codeception 未正确路由

    我正在尝试使用代码接收为控制器函数编写 API 测试用例 但遇到了一个问题 即控制器函数的路由似乎未正确评估 并且评估似乎根据我的不同而不同我的测试用例中有 这是我的测试用例中的代码示例 use ApiTester class Custom
  • 基本的 simpleXML 工作示例?

    看起来 PHP 中的 simpleXML 有很多问题 我在 Windows 上运行最新版本的 php 但无法让 simpleXML 的基本示例按照文档中的方式工作 我的 xml 文件是
  • 通过 PHP 使用 Eclipse BIRT 报表设计器

    我想在 php web 项目中使用 Birt Reports 因此我安装了推荐的 Java Bridge 和 BIRT Runtime 将 JavaBridgeTemplate621 war 和 birt war 移至我的 Tomcat 之
  • PHP 错误请求中 HTTP 请求失败

    我可以直接从浏览器请求 URL Web 服务 WS 但是当我在代码中使用 file get contents 或 fopen 方法时 我收到一条错误消息 有人有不使用curl的解决方案吗 public function sendHttpRe
  • 如何在 jQuery 中检查复选框是否被选中?

    我需要检查checked复选框的属性 并使用 jQuery 根据选中的属性执行操作 例如 如果age复选框被选中 然后我需要显示一个文本框来输入age 否则隐藏文本框 但下面的代码返回false默认情况下 if isAgeSelected
  • PHP邮件功能有时可以工作

    我正在编写一个脚本 需要通过PHP邮件功能发送电子邮件 如下所示 它在向 gmail 帐户发送电子邮件时有效 但在我的域中的帐户却无效 我们正在运行 Exchange 服务器 截至目前 电子邮件是从 www server 发送的 有谁知道
  • 学说“没有命名的协会”

    将我添加到无法找出其学说映射出了什么问题的人列表中 我正在模拟国际象棋Game与一对多Halfmoves 有任何想法吗 DDL create table game game id int primary key create table h
  • html5 canvas 使用图像作为蒙版

    是否可以使用具有形状的图像作为整个画布或画布内图像的蒙版 我想将图像放置在画布中 并在图像上添加蒙版 然后将其另存为新图像 您可以使用 source in globalCompositeOperation 将黑白图像用作蒙版 首先 将蒙版图
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何在 Laravel 中创建一条包罗万象的路线

    我需要一个 Laravelroutes php将捕获所有流量到特定的条目example com premium section网站 以便我可以提示人们在访问优质内容之前成为会员 您还可以通过在参数上使用正则表达式来捕获 全部 Route g

随机推荐

  • 从存储在 sdcard 上的 png 文件创建位图 (Android)

    我尝试从 SD 卡上存储的 Png 文件创建位图 然后在 imageView 中设置该位图 但它不起作用 这是代码 import java io File import java io FileOutputStream import jav
  • 快速从字符串中获取整数值

    所以我可以这样做 var stringNumb NSString 1357 var someNumb CInt stringNumb intValue 但我找不到方法来做到这一点String 我想做这样的事情 var stringNumb
  • 如何使按钮在单击后立即不可见?

    我想知道如何使按钮可见 但单击时我希望它不可见 因此根本不会显示 button setOnClickListener new OnClickListener Override public void onClick View v Butto
  • rpy2 importr 因 xts 和 quantmod 失败

    我是 rpy2 新手 在使用 importr 导入 R 包 xts 和 quantmod 时遇到问题 Code is from rpy2 robjects packages import importr xts importr xts qu
  • Chartboost 与 XCode 6.1 的集成问题

    我在同一项目的 Xcode 6 0 中集成了 Chartboost 它工作正常 但当我将 Xcode 更新到 Xcode 6 1 时 桥接头文件无法成功编译 我已经在我的项目中添加了 Chartboost 框架 并添加了指南中提到的这些必需
  • Android 软键按钮隐藏视图的内容

    我在 Android 上带有软键按钮的设备上遇到布局太大的问题 总而言之 我的问题是为什么布局被配置为 匹配父项 其视图边界是否扩展到 真实 底部窗口 边界 而不是软键按钮上方 现在我的具体问题 使用 View 显示relativelayo
  • 如何使用 Vue Cli 3 添加对 PDF 文件的支持?

    我需要配置 Webpack 来接受和处理 PDF 文件url loader通过 Vue Cli 最新 vue config js module exports configureWebpack rules test pdf use load
  • Scala 下划线最小函数

    为了这个问题 我们创建一个值 val a 1 Nil 现在 我可以证明匿名函数可以用简写形式编写 如下所示 a map 2 是否可以写出这个函数的简写 a map x gt x 我的解决方案不起作用 a map 作为记录 a map 不起作
  • 使用 wkhtmltopdf 将当前页面打印为 pdf

    最近安装了 wkhtmltopdf 试图捕获整个页面的当前状态 但是 下面的方法似乎导航到该页面的初始状态 而没有用户输入的所有输入字段 PHP shell exec wkhtmltopdf http localhost www bolt
  • 包含 OSGi 捆绑包中的附加资源

    我正在开发一个 OSGi 包 它将服务实现为本地可执行文件的包装器 也就是说 该服务运行可执行文件ProcessBuilder 向其提供一些数据 并检索结果 我的问题是关于打包这个捆绑包的最佳方式 本机可执行文件包含许多相关数据文件 所有这
  • 当 commandButton 导航到页面时,f:viewAction 被忽略

    我对 JSF 2 2 功能有疑问
  • 为 mvc 创建一个 html 帮助器

    我是 mvc 新手 所以不确定这是否可行 我有一些 html 基本上使用一些图像来创建一个漂亮的圆角框 mvc3 中是否可以创建一个帮助程序函数 该函数允许我调用该帮助程序并将我想要的任何内容插入到 div 标签的主要区域中 这是我的htm
  • 是否可以使用 CSS 在 VML 路径上设置填充和描边颜色以及不透明度?

    例如 我想做如下的事情 myRedPath fillcolor red
  • JTextField 自动完成错误

    In 这个线程 我找到了一种实现方法AutoComplete特征在一个JTextField and JComboBox 但这没有问题 当尝试在中实现此功能时JTextField它会抛出一些异常 以下代码将演示该问题 很简单 和我用的方式很相
  • 使用 JavaScript Regex 进行条件渲染

    我需要匹配这样的字符串 if Country equals United States then Show 我正在使用 Sitecore 中的营销人员网络表单模块 Sitecore 是一个基于 NET 的 CMS 营销人员模块的 Webfo
  • 如何启用和禁用javascript功能?

    if tmpStr tmp value i 1 action null action2 null if tmpStr1 tmp value i 0 action not working action2 not working fo
  • 令牌必须是短期令牌并且在合理的时间范围内

    我有同样的错误this 就我而言 当应用程序尝试通过 Google Cloud 客户端 API 上传文件时 就会发生这种情况 POST https www googleapis com oauth2 v4 token 400 Bad Req
  • 即使没有值存在,SQL 查询也能返回 24 小时、每小时计数吗?

    我编写了一个查询 根据给定的日期范围对每小时的行数进行分组 SELECT CONVERT VARCHAR 8 TransactionTime 101 CONVERT VARCHAR 2 TransactionTime 108 as TDat
  • XSendfile 不工作 - PHP、Apache、Cpanel

    强烈建议我使用 XSendfile 因为我们从服务器提供相当大的文件 服务器正在运行 Cpanel 以前我们使用直接强制下载脚本 该脚本在某些浏览器中也不能很好地工作 希望用XSendfile一石二鸟 好的 我们的主机已在我们的服务器上启用
  • 具有循环功能的 PHP HTML 模板

    我想请求一些有关如何在模板内实现循环的帮助和想法 我可以在下面进行 foearch 但如何将其包含到模板中并在结果中显示它 foreach results as row name row name address row address 我