【问题标题】:Php update checkbox states in db数据库中的 PHP 更新复选框状态
【发布时间】:2014-12-26 16:57:32
【问题描述】:

我是 php 新手,我有一个问题。 如何更新数据库中的复选框状态?复选框具有相同的名称。单击更新按钮时,它将更新数据库中的所有行复选框统计信息。和 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>

谢谢你:)

【问题讨论】:

  • 你得到数组,有什么问题?
  • 我只是不知道该怎么做
  • 将复选框 name='id' 更改为 name='id[]' 并获取数组值中的复选框..
  • 使用 name='id[]' insted of name='id' 作为您的复选框,然后您将在提交时获得一组选定值。使用该值更新表格
  • 您面临的具体问题是什么?

标签: php mysql checkbox


【解决方案1】:

将名称的“id”替换为下面。

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

当您声明 Name='id' 时,所有元素都选择了相同的名称,在上述声明之后,每个复选框将具有一个唯一的名称,等于 ID。

【讨论】:

  • 好答案.....每个人都在说保持 id 数组我不知道他们为什么说即使他们有唯一的 id 值......无论如何都很好的答案
【解决方案2】:

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

然后按照自己的方式工作

【讨论】:

  • 我正在搜索,但没有找到我想要的任何东西
【解决方案3】:

使用数组,例如:id[],并且每个复选框都应该像它们在表中的 ID 一样被赋予值。

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

所以发布后你只会得到被选中的复选框,所以相应地将数据保存在数据库中。

【讨论】:

    【解决方案4】:

    这很简单: 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      相关资源
      最近更新 更多