【问题标题】:Populating HTML Divs (projects) from a SQL database [duplicate]从 SQL 数据库填充 HTML Div(项目)[重复]
【发布时间】:2017-01-16 23:52:49
【问题描述】:

我终于再次喘口气来处理我的作品集。我正在用 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,以便我的项目将在我的 Showcase 上排序(作品集页面)?

如果有可能制作一些更简洁的代码,我已经搜索了所有板子,甚至查找了视频。但我得到的只是带有 Ajax 的表单应用程序教程。

希望大家能帮帮我!

亲切的问候!!

【问题讨论】:

标签: javascript php html ajax mysqli


【解决方案1】:

您的方法的问题在于您将演示文稿与业务逻辑混合在一起。这就像

使用 HTML &lt;p style="color:red;"&gt;RED&lt;/p&gt;

而不是使用 HTML/CSS &lt;p&gt;RED&lt;/p&gt;p { color:red}

在 PHP 中执行此操作的一种方法涉及 template engines,例如 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'));

【讨论】:

  • 我今天一直在寻找有关 Twig 模板的更多信息。这绝对是我可以使用的东西,所以这意味着我的问题得到了解答,我可以继续我的投资组合。现在我在一个数组中使用原始数据字符串,我的问题是我以后是否可以用 SQL 查询填充这些数据?谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-07-31
相关资源
最近更新 更多