比打印表的多个echo语句更好的方法?

时间:2013-03-30 06:08:09

标签: php html performance

有没有更好的方法来做这个代码,不要问为什么它在回声中我的兄弟这样做不确定为什么但它的慢我想要回声

echo "<table id=\"vote\">";
echo "<th colspan=\"11\">Vote now!</th>";
echo "<tr>";
echo "<td><form action=\"vote.php?id=$id&value=\"0\"\" method=\"post\"><input name=\"value\" value=\"0%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"10\"\" method=\"post\"><input name=\"value\" value=\"10%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"20\"\" method=\"post\"><input name=\"value\" value=\"20%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"30\"\" method=\"post\"><input name=\"value\" value=\"30%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"40\"\" method=\"post\"><input name=\"value\" value=\"40%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"50\"\" method=\"post\"><input name=\"value\" value=\"50%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"60\"\" method=\"post\"><input name=\"value\" value=\"60%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"70\"\" method=\"post\"><input name=\"value\" value=\"70%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"80\"\" method=\"post\"><input name=\"value\" value=\"80%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"90\"\" method=\"post\"><input name=\"value\" value=\"90%\" type=\"submit\"/></form></td>";
echo "<td><form action=\"vote.php?id=$id&value=\"100\"\" method=\"post\"><input name=\"value\" value=\"100%\" type=\"submit\"/></form></td>";
echo "</tr>";
echo "</table>";

2 个答案:

答案 0 :(得分:2)

尝试循环(我冒昧地改变其中一个echo使用单引号(')而不是双引号(")摆脱所有转义(\)。我还用一个变量替换了你的所有echo(声音稍微快一点)。

$myForms = "";
$myForms .= "<table id=\"vote\">";
$myForms .= "<th colspan=\"11\">Vote now!</th>";
$myForms .= "<tr>";
for ($i = 0; $i < 110; $i += 10) {
    $myForms .= '<td><form action="vote.php?id=' . $id . '&value=' . $i . '" method="post">
                         <input name="value" value="' . $i . '%" type="submit"/>
                     </form>
                 </td>';
}
$myForms .= "</tr>";
$myForms .= "</table>";

echo $myForms;

答案 1 :(得分:2)

我建议你分开HTML和PHP代码,以便更容易管理和使用for循环来干你的代码:

<table id="vote">
<th colspan="11">Vote now!</th>";
<tr>
<?php
    for($i=0; $i <= 100; $i+=10) {
        <td><form action="vote.php?id=' . $id . '&value=' . $i . '" method="post"> <input name="value" value="' . $i . '%" type="submit"/> </form> </td>;
    }
?>
<tr>
</table>