2010-08-31 48 views
0

假設我正在寫一些論壇軟件。我們另外說那個論壇軟件有個人消息組件。我希望用戶能夠從列表中檢查幾條消息,然後單擊其他地方的刪除按鈕以刪除所有這些消息。在PHP中實現「批處理表」是否有一種常見的方法?

另一個類似的應用程序是GMail,或幾乎所有其他類型的網絡郵件應用程序。

是否有執行此操作的常見模式?我可以在每個表格行中粘貼一個數據庫行ID,但這看起來像是一個雜種。

回答

2

實際上,在每一行中粘貼數據庫友好標識符是此問題的標準解決方案。在你的情況下,標識符將在複選框的value屬性中。

擴展模式是讓每一個操作接受一個標識符列表而不是隻有一個(這樣你的所有操作都可以作爲批處理)。

+0

+1用於暗示如何推廣這一點。 – 2010-08-31 16:58:46

2

acconplishing本的usuabl方法是讓瀏覽器發送的所有選定的ID與陣列..與此類似:

<input name="test[]" value="123" /> foo<br /> 
<input name="test[]" value="133" /> bar<br /> 
<input name="test[]" value="3" /> barfoo<br /> 
<input name="test[]" value="4" /> foobar<br /> 

<?php 
if (!empty($_GET['test']) && is_array($_GET['test'])) { 
    foreach ($_GET['test'] as $k => $v) { 
     echo '<br />delete id' . (int) $v; 
    } 
} 
?> 

請注意,我沒有運行此代碼。所以可能會有拼寫錯誤。 :D

+0

+1 - 我沒有意識到這一點 - 我爲每一個定義了單獨的'name',並循環了'$ _POST'! – 2010-08-31 16:56:32

相關問題