动态生成删除按钮

时间:2012-11-05 23:36:13

标签: php html

我是php的新手,我想知道如何创建类似删除按钮的内容,用于删除列表中的项目,这些项目将从动态增长的数组中生成。

我的意思是:

<?php
if (isset($_REQUEST['foo']))
{
    if (isset($_SESSION['words']))
    {
        $_SESSION['words'][] = 'added word';
    }
    else
    {
        $_SESSION['words'] = array('cat', 'dog', 'you', 'me');
    }

    foreach ($_SESSION['words'] as $key => &$value)
    {
        echo "<p>" . 
             $value . 
             " - <input type='submit' name='delete_" . 
             $value . 
             "' value='Delete Entry' /></p>";
    }

    if (isset($_REQUEST['clear']))
    {
        session_destroy();
    }
?>

在每个按钮点击发送到我的脚本的地方,它会用按钮回显数组。

我想将删除按钮链接到看起来像这样的函数:

function delete_entry( $index )
{
    unset($_SESSION['words'][$index]);
    $_SESSION['words'] = array_values($_SESSION['words']);
}

我甚至要问的是什么?

1 个答案:

答案 0 :(得分:1)

您的单词数组似乎存储在您的会话变量中,因此我假设您要删除/添加单词。这个怎么样??

  1. 为每个单词创建一个单独的表单,并使用隐藏字段说明单词是什么:

    所以在for循环中: echo "<form><p>".$value." - <input type='submit' value='Delete Entry' /></p><input type=\"hidden\" name=\"delword\" value=\"".$value."\"/></form>";

  2. if(isset[$_REQUEST['delword']])将其从会话数组中删除(在之前执行echo for for循环时执行此操作。(您可以使用array_search查找元素,然后按照你的建议运行未设置)

  3. 如果您希望我详细说明这个建议,请告诉我。