MySQL数据转换成模板

时间:2013-04-05 15:44:50

标签: php mysql templates

我从PHP开始,我的代码运行良好:

<body>

<?

require("conexaoBD.php");

$sql = "SELECT * FROM tb_materia_prima";

$limite = mysql_query("$sql");

while ($sql = mysql_fetch_array($limite) ) {
    $data       = $sql["data"];
    $lote       = $sql["lote"];
    $material   = $sql["material"];
    $cor        = $sql["cor"];
    $quantidade = $sql["quantidade"];
    $prazo      = $sql["prazo"];

    echo "<div id=\"testeID\">
            Data: $data<br> Lote: $lote<br> Material: $material<br> Cor: $cor<br> Quantidade: $quantidade Kilos<br> Previsão de entrega: $prazo<br><a href=\"#\">Editar</a>
          </div>";
}

?>

</body>

但是,现在我想将回声数据放入HTML中:

<div>

Data: <p><?php echo $data ?></p>
<br /><br />
Lote: <p><?php echo $lote ?></p>
<br /><br />
Material: <p><?php echo $material ?></p>
<br /><br />
Cor: <p><?php echo $cor ?></p>
<br /><br />
Quantidade: <p><?php echo $quantidade ?></p>
<br /><br />
Prazo: <p><?php echo $prazo ?></p>

</div>

它也可以正常工作,但只返回最后一个MySQL条目。如何显示所有条目?

1 个答案:

答案 0 :(得分:0)

首先获取数据,然后开始使用HTML模板

<?php
require("conexaoBD.php");
$sql = "SELECT * FROM tb_materia_prima";
$limite = mysql_query($sql);
$data = array();
while ($sql = mysql_fetch_array($limite) ) {
    $data[] = $sql;
}
?>
<body>
<?php foreach ($data as $row): ?>
    <div id="testeID">
        Data:                <?=$row['data']?><br> 
        Lote:                <?=$row['lote']?><br> 
        Material:            <?=$row['material']?><br>
        Cor:                 <?=$row['cor']?><br> 
        Quantidade:          <?=$row['quantidade']?> Kilos<br> 
        Previsão de entrega: <?=$row['prazo']?><br>
        <a href="#">Editar</a>
    </div>
<?php endforeach ?>
</body>

但是,最好使用PDO获取数据:

<?php
require("conexaoBD.php");
$sql = "SELECT * FROM tb_materia_prima";
$stm = $pdo->prepare($sql);
$stm->execute();
$data = $stm->fetchAll();
?>

当然,模板部分将保持不变。 这就是模板的重点:在更改程序逻辑时,模板将保持不变。反之亦然