PHP - 更改上一个循环输入类型?

时间:2017-08-18 10:11:49

标签: php forms

我想创建表单提交,我已经使用循环创建了一个表单,但我需要将最后一个循环输入类型从 number 更改为 select option

在某种程度上如何使用此代码执行此操作?

形式:

<div class="form-group">
    <?php
    $stmt2 = $pgn2->readAll();
    while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)){
        extract($row2);
        ?>
        <label for="ik"><?php echo $nama_kriteria; ?></label>
        <input type="hidden" name="ik[]" id="ik" value=<?php echo $id_kriteria ?>>
        <input type="number" class="form-control" id="nn" name="nn[]" min="1" max="100"
        <!-- I just want to change last loop for id="nn" -->
        placeholder="1 - 100">
    <?php
    }
    ?>
</div>

这是一个结果表:

form

任何想法都会受到赞赏

2 个答案:

答案 0 :(得分:2)

您可以通过计算来检查它是否是最后一行。 :)

<div class="form-group">
    <?php
    $stmt2 = $pgn2->readAll();
    $count = 1;
    $last = count($stmt2);

    while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)){
        extract($row2);
        ?>
        <label for="ik"><?php echo $nama_kriteria; ?></label>
        <input type="hidden" name="ik[]" id="ik" value=<?php echo $id_kriteria ?>>
        <?php if($last === $count): ?>
             // Add select input <--
        <?php else: ?>
            <input type="number" class="form-control" id="nn" name="nn[]" min="1" max="100" placeholder="1 - 100">
        <?php endif;
        $count++;
    }
    ?>
</div>

答案 1 :(得分:0)

获取总数组的计数并检查最后一行

<div class="form-group">
    <?php
    $stmt2 = $pgn2->readAll();
    $total_count = count($stmt2);
    $loop_cnt = 0; 
    while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)){
        extract($row2);
        $loop_cnt = $loop_cnt + 1;
        ?>
        <label for="ik"><?php echo $nama_kriteria; ?></label>
        <?php if($loop_cnt == $total_count): ?>
           //selec code here
       <?php else: ?>
           //input code here 
       <?php endif; ?>
    <?php
    }
    ?>
</div>