2016-08-18 58 views
-3

我需要一些帮助来解决我的问题。我做了一些没有成功的调查。我有一个表是一个IsContrib列,它是BOOLEAN。我想用我的复选框显示此列。如果IsContrib = 1 ==>选中,否则IsContrib = 0未选中。PHP - 如果内部回声与复选框

在这里,我该怎么做,但我得到一个错误说:syntax error, unexpected ';'

我TRID做像这样:

echo "... 
<td>&nbsp;<input name='checkboxNContrib[]' type='checkbox' id='checkboxNContrib[]' ".$rowNContribRunDis["IsNContrib"]==TRUE ? "checked='checked'"." value='".$rowNContribRunDis["IdVariantNContrib"]."'/>&nbsp;</td></tr>"; 

在这里,整个回音:

while($rowNContribRunDis = mysqli_fetch_assoc($PerformNContribSELECT)){ 
    $id = $rowNContribRunDis["IdVariantNContrib"]; 

    echo "<tr> 
<td>&nbsp;".$rowNContribRunDis["ID"]."&nbsp;</td><td>&nbsp;".$rowNContribRunDis["Reference"]."&nbsp;</td> 
<td><textarea name='ResultHRM[$id]' id='ResultHRM[]' cols='30' rows='1'>".$rowNContribRunDis['ResultHRM']."</textarea></td> 
<td><textarea name='Commentaires[$id]' id='Commentaires[]' cols='60' rows='1'>".$rowNContribRunDis['Commentaires']."</textarea></td> 
<td>&nbsp;<input name='checkboxNContrib[]' type='checkbox' id='checkboxNContrib[]' ".$rowNContribRunDis["IsNContrib"]==TRUE ? "checked='checked'"." value='".$rowNContribRunDis["IdVariantNContrib"]."'/>&nbsp;</td></tr>"; 
+1

摆脱混合了标记和逻辑 –

+0

嗨小家伙,你可以开发更多? – user979974

回答

0

你的代码是非常丑陋的,你应该重写它! 在字符串连接中使用三元运算符?:"" . ""您应该使用括号,例如。 "..." . (true ? "yes" : "no") . "..."并且还使用较低的字符串用于truefalse

echo "<tr> 
<td>&nbsp;" . $rowNContribRunDis["ID"] . "&nbsp;</td> 
<td>&nbsp;" . $rowNContribRunDis["Reference"] . "&nbsp;</td> 
<td><textarea name='ResultHRM[$id]' id='ResultHRM[]' cols='30' rows='1'>" . $rowNContribRunDis['ResultHRM'] . "</textarea></td> 
<td><textarea name='Commentaires[$id]' id='Commentaires[]' cols='60' rows='1'>" . $rowNContribRunDis['Commentaires'] . "</textarea></td> 
<td>&nbsp;<input name='checkboxNContrib[]' type='checkbox' id='checkboxNContrib[]' " . ($rowNContribRunDis["IsNContrib"] == true ? "checked='checked'" : "") . " value='" . $rowNContribRunDis["IdVariantNContrib"] . "'/>&nbsp;</td></tr>"; 
0

混合HTML和PHP坏主意。

我看到问题。问题是短if语句,托盘放在括号内。例如:

echo "Lorum ipsum" .($some == true ? 'yes' : '') . "adasda"; 

而且必须始终else语句

+0

关于其他的不完全正确的,你可以做'$ var1 = $ var2?:'Default';'虽然如果没有设置'$ var2',它会产生一个通知。 – Epodax

1

加冒号(:)

".($rowNContribRunDis["IsNContrib"]==TRUE ? "checked='checked'" : "")."