我刚刚阅读了这个主题highlight search keywords on hover,实际上我使用了相同的结构,但看起来很糟糕。所以你能给我一个建议,如何在一个php文件中编写这个循环更漂亮,我的意思是php和html同时?
<table class="result">
<?php while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$cQuote = highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
?>
<tr>
<td style="text-align:right; font-size:15px;"><?php h($row['cArabic']); ?></td>
<td style="font-size:16px;"><?php echo $cQuote; ?></td>
<td style="font-size:12px;"><?php h($row['vAuthor']); ?></td>
<td style="font-size:12px; font-style:italic; text-align:right;"><?php h($row['vReference']); ?></td>
</tr>
<?php } ?>
答案 0 :(得分:7)
就个人而言,我会保留HTML部分仅用于打印值,而不是执行数据库连接,调用函数等。像这样:
<?php
$rows = array();
while ($row= mysql_fetch_array($result, MYSQL_ASSOC))
{
$row['cquote_hi'] = highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
$rows[] = $row;
}
?>
<table class="result">
<?php foreach ( $rows as $row ) : ?>
<tr>
<td style="text-align:right; font-size:15px;"><?php h($row['cArabic']); ?></td>
<td style="font-size:16px;"><?php echo $row['cquote_hi']; ?></td>
<td style="font-size:12px;"><?php h($row['vAuthor']); ?></td>
<td style="font-size:12px; font-style:italic; text-align:right;"><?php h($row['vReference']); ?></td>
</tr>
<?php endforeach; ?>
</table>
如果您的服务器设置允许,您可以使用短标记回显变量:<?=$row['cquote_hi']?>
我不知道h()函数在做什么,但你可以为原始while循环中的每个变量调用它,然后只是回显变量。
答案 1 :(得分:-1)
这将是我的方式:
<?
echo '<table class="result">';
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$cQuote = highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
echo '
<tr>
<td style="text-align:right; font-size:15px;">'.h($row["cArabic"]).'</td>
<td style="font-size:16px;">'.$cQuote.'</td>
<td style="font-size:12px;">'.h($row["vAuthor"]).'</td>
<td style="font-size:12px; font-style:italic; text-align:right;">'.h($row["vReference"]).'</td>
</tr>';
}
echo '</table>';
?>
所有的PHP ...