db中的Php update复选框状态

时间:2014-12-26 08:21:19

标签: php mysql checkbox

我是php的新手,我有一个问题。 如何更新db中的复选框状态?复选框具有相同的名称。当点击更新按钮时,它将更新db中的所有行复选框stat。和db中的复选框获得true或false

html部分

<div class='blocks-output'>
    <form action='/admin/blocks' method='post'>
        <input type='hidden' name='updated_block_index' value=''/>
        <input type='hidden' name='updated_block_name' value=''/>
        <table class='table table-hover table-striped table-bordered'>
            <thead>
                <tr class='text-uppercase'>
                    <td>#</td>
                    <td>selected</td>
                    <td>block index</td>
                    <td>block name</td>
                    <td>edit</td>
                    <td>delete</td>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($blocksInfo as $row) { ?>
                    <tr>
                        <td>
                            <?php echo $row['id']; ?>
                        </td>
                        <td>
                            <input type="checkbox" name='id' value='<?php echo $row['id']; ?>' <?php if($row['selected'] == 1) echo 'checked'; ?> />
                        </td>
                        <td>
                            <p><?php echo $row['block_index']; ?></p>

                            <div class='form-group hidea'>
                                <input type='number' class='form-control' name='block_index' placeholder='Block index' value='<?php echo $row['block_index']; ?>'>
                            </div>
                        </td>
                        <td>
                            <p><?php echo $row['block_name']; ?></p>

                            <div class='form-group hidea'>
                                <input type='text' class='form-control' name='block_name' placeholder='Block name' value='<?php echo $row['block_name']; ?>'>
                            </div>
                        </td>
                        <td>
                            <a href='' class='edit-row btn btn-primary' role='button'>edit</a>
                            <button class='update-row btn btn-primary' name='update_row' value='<?php echo $row['id']; ?>'>update</button>
                        </td>
                        <td>
                            <button type='submit' class='btn btn-primary' name='delete_row' value='<?php echo $row['id']; ?>'>delete</button>
                        </td>
                    </tr>
                <?php } ?>

                <tr>
                    <td>
                        <input type='submit' class='btn btn-primary' name='clear_table' value='delete all'>
                    </td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td ></td>
                    <td>
                        <input type='submit' class='btn btn-primary' name='update_table' value='update'>
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</div>

enter image description here

谢谢你:)

4 个答案:

答案 0 :(得分:2)

替换&#39; id&#39;为了下面的名字。

&#13;
&#13;
 <input type="checkbox" name='<?php echo $row['id']; ?>' value='<?php echo $row['id']; ?>' <?php if($row['selected'] == 1) echo 'checked'; ?> />
&#13;
&#13;
&#13;

当您声明姓名=&#39; id&#39;所有元素都采用相同的名称,在上述声明之后,每个复选框都有一个等于ID的唯一名称。

答案 1 :(得分:0)

这里没有一些简单的谷歌搜索无法回答。 你可以从这开始:

从那里开始工作

答案 2 :(得分:0)

这很简单: form.php的

<html>
<body>
<form action="action.php" method="POST">
<label class="checkbox inline">
<input type="checkbox" name="frm_update" id="frm_update" value="<?=$id>"> check this box
</label>
</form>
</body>
</html>

action.php的

<?php
if(isset($_POST['frm_update'])){
  //do what you wanted to do. Save it to database etc
}

答案 3 :(得分:0)

使用类似:id[]的数组,每个复选框的值应与表中的ID相同。

所以它将简短<input type="checkbox" name='id[]' value='<?php echo $row['id']; ?>' <?php if($row['selected'] == 1) echo 'checked'; ?> />

所以在发布后您将只获得已选中的复选框,因此相应地将数据保存在数据库中。