2013-04-01 37 views
0

这为每个/ if语句显示更改,然后在其正下方显示所做的更改。如果声明不显示div/h2

我想写一个if语句,告诉它不显示h2和#change_box,如果没有更改。

帮助将不胜感激。

<h2 class="changes"> Changes: </h2> 
<div id="change_box"> 
<? foreach ($audit['Events'] as $event):?> 
<?if ($event['Type'] != 'Comment'):?> 
<span class="field"> 
<?= $event['Field']?> 
</span>: 
<?= $event['Value'] ?>  
<?=($event['Previous'])?> 
<?endif?> 
<?endforeach?> 
</div> 
+0

Wny你是否每次打开和关闭php标签?当你想打印HTML代码时,最好在PHP和'echo'中创建所有内容。 – fedorqui

+0

user2217381:您需要更改编码风格。你的代码看起来很奇怪。 –

回答

0
<?php 

    if ($changes) { // You'll have to set this variable 
     //Echo all of your HTML 
    else { 
     //Echo the stuff you'd rather show if they didn't change anything 
    } 

?> 

为了让你的我怎么会写代码的想法

<?php 

    if ($changes) { 
    echo '<h2 class="changes">Changes:</h2>'; 
    echo '<div id="change_box">'; 

    foreach ($audit['Events'] as $event) { 
     if ($event['Type'] != 'Comment') { 
     echo $event['Field'] . </span> . $event['Value'] . $event['Previous']; 
     } 
    } 

    echo "</div>" 
    } 

?> 
0

请每个空间<?后,确保启用了短标签

<?php if(is_array($audit['Events']) && $audit['Events']):?> 
    <h2 class="changes"> Changes: </h2> 
    <div id="change_box"> 
    <?php foreach ($audit['Events'] as $event):?> 
    <?php if ($event['Type'] != 'Comment'):?> 
     <span class="field"> 
     <?php echo $event['Field'];?> 
     </span>: 
     <?php echo $event['Value']; ?>  
     <?php echo $event['Previous'];?> 
    <?php endif;?> 
    <?php endforeach;endif;?> 
</div> 
+0

它从不使用短标签的最佳做法 –

0

你可以使用if来包装你的代码,如

if(count($audit['Events'])>0) 
{ 

//Your code 

} 
+0

这些似乎都没有工作... – user2217381

+0

有没有办法像if($ audit ['Events'] = Null)拿走#div或其他东西? – user2217381

0

Wny你是否每次打开和关闭php标签?如果希望打印HTML代码,那么在PHP中创建所有内容并进行回显会更好。

<?php 
echo "<h2 class=\"changes\"> Changes: </h2>"; 
echo "<div id=\"change_box\">"; 

foreach ($audit['Events'] as $event) { 
    if ($event['Type'] != 'Comment') { 
     echo "<span class=\"field\">".$event['Field']."</span>"; 
     echo $event['Value']; 
     echo "(".$event['Previous'] .")"; 
    } 
} 

echo "</div>"; 
?>