在复选框上设置并获取ID

时间:2009-08-20 04:17:44

标签: php html webforms

我有一个来自数据库的ID数组。我还有一张这样的表:

enter image description here

ID数组包含记录ID,即:

Array ( [0] => Array ( [id] => 1 [code] => GHY87 [description] => Hello World ) ) 

现在,我想选中一个复选框,然后单击编辑按钮(链接)以获取该复选框的ID。

注意:

我只想使用PHP代码,而不是Javascript或jQuery。

3 个答案:

答案 0 :(得分:0)

使编辑按钮成为表单的提交按钮。每个复选框都是提交的表单中的单个元素。所有这些都是提交的。

收到帖子后,搜索为on或更多设置为已检查的值。

雅各

答案 1 :(得分:0)

<input type=checkbox name=mycheckbox value=1> Hello World

<?php
echo "The ID of my checkbox is {$_GET['mycheckbox']}";
?>

也许您应该使用<select>框。

答案 2 :(得分:0)

我的简单建议:

<?php
if (!empty($_POST))
{
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
    exit();
}
    $ids = array(   
            0 => array(
                    'id' => 1,
                    'code' => 'GHY87',
                    'description' => 'Hello World'
                ),
            1 => array(
                    'id' => 2,
                    'code' => 'OTHER',
                    'description' => 'Bye World'
                )
            );
    function checkboxes($ids)
    {
        foreach ($ids as $id)
        {
        ?>
        <input type="checkbox" name="ids[]" value="<?php echo $id['id']; ?>" /> <?php echo $id['description'];?> (<?php echo $id['code'];?>)<br />
        <?php
        }
    }
?>
<form id="myForm" method="post">
    <?php checkboxes($ids); ?>
    <input type="submit" value="Edit" />
    or
    <a href="#" onclick="document.getElementById('myForm').submit(); return false;">Edit</a>
</form>

输出:

<form id="myForm" method="post">
    <input type="checkbox" name="ids[]" value="1" /> Hello World (GHY87)<br />
    <input type="checkbox" name="ids[]" value="2" /> Bye World (OTHER)<br />
    <input type="submit" value="Edit" />
    or
    <a href="#" onclick="document.getElementById('myForm').submit(); return false;">Edit</a>
</form>

...如果选中第一个复选框并单击编辑,则会得到:

Array
(
    [ids] => Array
        (
            [0] => 1
        )

)

...如果同时检查两者:

Array
(
    [ids] => Array
        (
            [0] => 1
            [1] => 2
        )

)