0

在这个愉快的周末,我第一次申请练习。这就是我目前所处的位置,并试图弄清楚是否有更好的技术,然后business->$column_name我正在做的所有事情以及跳入和跳出 PHP。

$sql = $db->query('SELECT * FROM companies ORDER BY state ASC');
$results = $sql->fetchAll(PDO::FETCH_OBJ);

**html code snipped for space**

<?php foreach($results as $business): ?>
<p>
<strong><?php echo $business->name; ?></strong><br />
<?php echo $business->city . ', ' . $business->state; ?><br />
Call <?php echo $business->phone; ?><br />
<!-- needs to check if website & twitter are present -->
<?php
if (isset($business->twitter)) {
echo 'Follow us on Twitter <a href="http://twitter.com/' . $business->twitter . '">@' . $business->twitter . '</a>';
}
?>
</p>
<?php endforeach; ?>

有没有办法清理其中的一些?尤其是当我进入网站和推特的东西并且必须做href后面的文字时,这让我感觉很乱。

4

1 回答 1

-1

对于像这样微不足道的事情,我经常只是回显 HTML 的字符串文字。另外,不要忘记htmlspecialchars()变量数据以确保您的 HTML 有效,并且您最终不会受到潜在的 XSS 攻击。

foreach ($result as $business);
echo '<p>',
     '<strong>', htmlspecialchars($business->name), '</strong><br/>',
     htmlspecialchars($business->city), ', ', htmlspecialchars($business->state),
// ... etc

对于不那么简单的事情,一个更好的选择是使用模板引擎,例如Smarty

$smarty->assign('business', $business');

然后在您的模板中,您可以使用:

<p>
    <strong>{$business->name}</strong><br/>
    {$business->city}, {$business->state}
    {* etc *}

请记住,如果您使用模板引擎,则会增加开销。这就是为什么我不为它而烦恼的一次性小任务。

于 2013-05-11T22:35:49.927 回答