我在尝试找出最好的方法时遇到了问题。我正在创建一个模板/评论系统,允许用户填写模板,然后搜索完成的评论。每篇评论都在我需要显示的多个部分上做了标记。
我的问题是,我需要列出每个单独的审查,它的部分在'slidingDiv'。目前,这将覆盖$htm变量,因此每次审查&它各自的部分在显示时是完全相同的(每个使用不同的模板,因此应该是不同的)。我尝试使用数组,但这些被覆盖。从视觉上看,我们的想法是有一个显示每个审查的表格,然后当他们选择审查时,'slidingDiv'在审查表格下面显示该审查的部分。
我意识到我离解决方案还很远,但这是我最接近的。目前我有以下内容:
if (isset($reviews)) {
include ("templates/default/pheader.php");
echo "<p>Search results displayed below:</p>";
echo "<table id=table-search>";
echo "<tr>";
echo "<th>ECR</th><th>Consultant</th><th>Reviewer</th><th>Template</th><th>Date</th>";
echo "</tr>";
foreach ($reviews as $review) {
$ecr = $review->get_ecr();
$member = $review->get_team_member();
$user = $review->get_user();
$user_name = $user->get_name();
$template = $review->get_template();
$template_name = $template->get_name();
$member_name = $member->get_name();
$timestamp = $review->get_timestamp();
echo "<tr>";
echo "<td>";
echo "<a href='"#'" class='"show_hide'">$ecr</a>";
echo "</td>";
echo "<td>";
echo "$member_name";
echo "</td>";
echo "<td>";
echo "$user_name";
echo "</td>";
echo "<td>";
echo "$template_name";
echo "</td>";
echo "<td>";
echo "$timestamp";
echo "</td>";
echo "</tr>";
foreach ($review->get_sections() as $section) {
$section_name = $section->get_name();
$section_total = $section->get_total();
$section_mark = $section->get_mark();
$section_pass = $section->get_pass();
if ($section_pass == 1) {
$section_pass = "<font color = '"green'">PASS</font>";
} else {
$section_pass = "<font color = '"red'">FAIL</font>";
}
$htm .= "<tr><td>$section_name</td>";
$htm .= "<td>$section_total / $section_mark marks</td>";
$htm .= "<td>$section_pass</td></tr>";
}
}
echo "</table>";
echo "<div class='"slidingDiv'">";
echo "<table>";
//List each section per Review
echo "</table>";
echo "<p><a href='"#'" class='"show_hide'">Hide</a></div></p>";
echo "<p><a href='"search.php'">Search Again</a></p>";
}
查看代码,我很想首先创建带有示例内容的html,以获得页面的感觉和您想要的最终结果。然后,一旦满意,将php添加到第一个foreach块中,并使用var_dumps或print_r命令测试是否获得了正确的信息。
一旦您满意了,就移动到每个块的第二个部分,并进行测试。
尝试以这种方式将代码和html结合起来总是有点令人生畏,像这样的一小块工作使您对最终结果更有信心。