2010-08-31 3 views
0

Предположим, я пишу какое-то программное обеспечение для форума. Давайте дополнительно скажем, что на этом форуме есть персональный компонент обмена сообщениями. Я хочу, чтобы пользователь мог проверить несколько сообщений из этого списка, а затем нажать кнопку удаления в другом месте, чтобы удалить все эти сообщения.Есть ли общий метод для реализации «пакетной таблицы» в PHP?

Другим аналогичным приложением является GMail или почти любое другое приложение электронной почты.

Есть ли общий шаблон для реализации этого? Я могу просто вставить идентификатор строки базы данных в каждой строке таблицы, но это похоже на kludge ....

ответ

2

На самом деле, придерживаясь идентификатора базы данных в каждой строке является стандартным решением этой проблемы. В вашем случае идентификатор будет в атрибуте value этого флажка.

Расширенный шаблон должен позволить каждой отдельной операции принимать список идентификаторов, а не только один (чтобы все ваши операции могли действовать как партии).

+0

+1 для предложения способа обобщить это. –

2

usuabl способ acconplishing это позволить БРАУЗЕР отправить все выбранные идентификаторы с массивом .. похоже на это:

<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 - Я не знал об этом - я определял отдельные 'имена' для каждого и перебирал через' $ _POST'! –

Смежные вопросы