在报告中,我试图根据字段的值显示签名。 因此,我在html内添加了php。
<?php
if ($lawyer == "DS") {
echo '<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</p></div>
<div class="assinaturacaixa">
<p class="boldcentrado">DS</p>
</div>';
} else {
echo '<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</p></div>
<div class="assinaturacaixa">
<p class="boldcentrado">PM</p>
</div>';
}
?>
如果“律师”字段等于“ DS”,则应“显示”:
<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</div>
<div class="assinaturacaixa">
<p class="boldcentrado">DS</p>
</div>
如果是其他任何值,请显示:
<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</div>
<div class="assinaturacaixa">
<p class="boldcentrado">PM</p>
</div>
问题是,无论字段值是多少,它总是显示第一个选项。
答案 0 :(得分:0)
这可能是由于if语句中匹配项区分大小写所致。 我获取了您的代码,并创建了一个小的测试脚本来向您展示它的行为(为了方便调用,我确实对您的代码进行了功能)
<?php
function show($lawyer) {
if ($lawyer == "DS") {
echo '<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</div>
<div class="assinaturacaixa">
<p class="boldcentrado">DS</p>
</div>';
} else {
echo '<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</div>
<div class="assinaturacaixa">
<p class="boldcentrado">PM</p>
</div>';
}
}
// This shows the DS
echo "Lawyer is DS -- Should show DS:";
show("DS");
// these show PM
echo "lawyer = NOPE:";
show("NOPE");
echo "lawyer = NP:";
show("NP");
echo "lawyer = <empty>:";
show("");
// And due to case sensitivity this wont show DS either
echo "lawyer = ds <-- lower case:";
show("ds");
我想告诉你一件事。如果只有单个字段需要更改,最好将页面重构为类似以下内容:
<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</p>
</div>
<div class="assinaturacaixa">
<p class="boldcentrado"><?=getExpectedFieldValue(...)?></p>
</div>
并使该函数相应地返回DS或PM。
答案 1 :(得分:0)
您的代码可以正常工作。测试并更改$ lawyer确实在执行预期的操作。
您的代码看起来很可怕。从您的PHP中尽可能拆分HTML
<?php
$lawyer = 'S';
if ($lawyer == "DS") : ?>
<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</p>
</div>
<div class="assinaturacaixa">
<p class="boldcentrado">DS</p>
</div>
<?php else: ?>
<div class="signature">
<p class="boldcentrado">
E.D.</br>
Lawyer</p>
</div>
<div class="assinaturacaixa">
<p class="boldcentrado">PM</p>
</div>
<?php endif; ?>
更改律师的价值被淘汰,因此您申请的律师的价值始终为“ DS”