我终于喘口气了,开始处理我的作品集。我正在使用 SQL 数据库中的数据填充div。它正在工作,但有些事情告诉我我以错误的方式使用 PHP,我不应该将 PHP 和 HTML 代码相互混淆。
我的PHP输出是这样的:
<div class="content">
<h3>{ <em>Showcase</em> }</h3>
<?php
while($row = mysqli_fetch_assoc($result))
{
$typeDescription = $row['type_description'];
$typeDescription = ucfirst($typeDescription);
echo ('<div class="project-thumb">');
echo ('<div class="banner-container">');
echo ('<h3>'.$typeDescription."</h3>");
echo ('<img src="'.$imagePath.$row['short_description']."_banner.png".'"/>');
echo ('<img class="banner-fold" src="'.$imagePath.$row['short_description']."_fold.png".'"/>');
echo ('</div>');
echo ('<img class= "main-image" src="'.$imagePath.$row['project_image'].'"/>');
echo('<h5>'.$row['project_year'].'</h5>');
echo('<h3>'.$row['project_name'].'</h3>');
echo('<p>'.$row['project_description']."</p>");
echo ('</div>');
}
?>
从数据库中实现我想要的东西(加载名称/图像/内容)并为每个项目创建一个div,以便我的项目在我的展示(作品集页面)上排序,这是一种更有效的方法?
我已经在董事会周围搜索,甚至查找视频是否有可能的方法可以制作一些更整洁的代码。但我得到的只是使用 Ajax 的表单应用程序教程。
希望你们能帮帮我!
亲切问候!!
您的方法的问题在于您将表示与业务逻辑混合在一起。 这就像
使用 HTML <p style="color:red;">RED</p>
而不是使用 HTML/CSS <p>RED</p>
和p { color:red}
在PHP中执行此操作的一种方法涉及模板引擎,例如twig,例如
require_once '/path/to/vendor/autoload.php';
$loader = new Twig_Loader_Array(array(
'index' => 'Hello {{ name }}!',
));
$twig = new Twig_Environment($loader);
echo $twig->render('index', array('name' => 'Fabien'));