从循环中检查Php复选框

时间:2016-02-28 15:15:39

标签: php database

我使用foreach循环从数据库中获取信息:

<table class="price_table">
   <caption>Prices</caption>
   <?php if($price= getCarPricePeriod($car->ID)):?>
        <?php foreach ($prices as $price): ?>
             <tr>
                  <td><input type="radio" name="price" value="<?= $price['Price'];?>"> </td>
                 <td><?= $price['Price'];?>$</td>
             </tr>
        <?php endforeach; ?>
   <?php endif; ?>
</table>

所以通过这个循环,我可以通过单选按钮获得价格。如何从循环中创建第一项checked。首先需要检查

如果我在循环中添加checked,则会检查所有项目或随机。

2 个答案:

答案 0 :(得分:1)

快速做法是将变量作为标识符

<table class="price_table">
   <caption>Prices</caption>
   <?php  if($price= getCarPricePeriod($car->ID)):?>
        <?php $checked=true; foreach ($prices as $price): ?>
             <tr>
                 <td><input type="radio" name="price" value="<?= $price['Price'];?>"<?=$checked ? ' checked' : '';?>> </td>
                 <td><?= $price['Price'];?>$</td>
             </tr>
        <? $checked = false; ?>
        <?php endforeach; ?>
   <?php endif; ?>
</table>

答案 1 :(得分:1)

您必须首先使用变量标记元素:

<table class="price_table">
    <caption>Prices</caption>
    <?php if($price= getCarPricePeriod($car->ID)):
        $first = true;
        foreach ($prices as $price): ?>
             <tr>
                  <td><input type="radio" name="price" value="<?= $price['Price'];?> <?= $first ? 'checked' : '' ?>"> </td>
                 <td><?= $price['Price'];?>$</td>
             </tr>
        <?php $first = false;
        endforeach; ?>
   <?php endif; ?>
</table>