2012-11-05 107 views
0

我是新來的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']); 
} 

就是我問甚至可能嗎?

+0

我讀了幾次,並不知道你的實際目標是什麼。具體爲什麼你會使用會話來處理這個問題。用戶在這裏做了什麼?如果我們知道我們可能會提出一種方法。就目前而言,我無法想到一個真實的案例web場景,其中發佈的代碼會產生很大的意義 –

+0

這只是一個簡單的例子,我想我沒有很好地說明它。基本上會有一個表單,用戶可以輸入ID號碼並按下一個按鈕,將這些ID添加到列表中。我正在尋找一種方法來生成刪除按鈕,該列表中的每個條目都是數組,並將這些刪除按鈕與其各自條目的索引關聯起來。 – soflaz

+0

是存儲在數據庫中的這些id號碼嗎?或以某種方式與其他用戶共享? –

回答

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']])從會話數組中刪除它(做這之前你做你的回聲循環(你可以使用array_search找到元素,然後運行未設置爲你建議)

讓我知道你是否想讓我詳細說明這個建議。

+0

我嘗試了您的建議,似乎是在正確的軌道上。然而,我很困惑,我如何從我的PHP腳本中的隱藏字段獲得$值 – soflaz

+1

$ _REQUEST ['delword'] –

+0

就是這樣!我現在已經開始工作了。謝謝你的耐心啓慶和影子,我真的很感謝 – soflaz