2015-05-21 8 views
1

У меня есть флажки, которые должны быть отмечены, если значения товара совпадают. Однако теперь мне нужно применить это в check-box html, но я не могу обернуть ввод внутри foreach, поскольку он не работает для того, что мне нужно.Показывать checked = "checked" foreach

Как поместить проверочное значение внутри html, не обернув его внутри foreach?

PHP:

<?php 

foreach($searchRows as $searchRow) { 

    if ($article->id==$searchRow->aid) { 
     $true = 'checked="checked"'; 
    } 
} 

?> 

HTML:

<input type="checkbox" <?php echo $true;?>/> 

Приведенный выше код показывает каждый флажок установлен. Я хочу, чтобы только совпадающие значения проверялись.

Приветствия Джон

ответ

0

Ваш подход является правильным, но сначала вы должны определить значение $true пустым, если вы не сделаете этого, как только ваш, если условие соответствует после этого каждый раз, когда $true остается 'checked="checkexd"'.

Используйте этот код

<?php 

$true = ''; //Define first blank the variable 

foreach($searchRows as $searchRow) { 

if($article->id==$searchRow->aid){ 

$true = 'checked="checked"'; 

} } 

?> 

<input type="checkbox" <?php echo $true;?>/> 
+0

если для любой статьи '$ article-> id == $ searchRow-> aid' satify, то остальная часть флажка также будет проверена ?? –

+0

Спасибо, кажется, работает нормально. Можете ли вы подумать, когда это может сломаться? –

1

Хранить в массиве печати их соответственно -

foreach($searchRows as $searchRow) { 
    if($article->id==$searchRow->aid){ 
    $true[$article->id] = 'checked="checked"'; 
    } else { 
    $true[$article->id] = ''; 
    } 
} 

А на входе -

<input type="checkbox" <?php echo $true[$articleId];?>/> // Something like this 

Если вы печатаете флажками статьи ,

Смежные вопросы