从 SQL 数据库填充 HTML Div(项目)



我终于喘口气了,开始处理我的作品集。我正在使用 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'));

最新更新