Показать проверено = «проверено» снаружи foreach

1

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

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

PHP:

<?php 

foreach($searchRows as $searchRow) { 

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

?>

HTML:

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

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

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

Теги:
foreach

2 ответа

0
Лучший ответ

Ваш подход правильный, но сначала вы должны определить значение $true blank, если вы этого не сделаете, как только ваше условие if будет соответствовать после этого, каждый раз, когда $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 удовлетворяет, тогда остальные флажки также будут отмечены ??
  • 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

Если вы печатаете флажки для статьи.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню