Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / обработка множества чек боксов / 11 сообщений из 11, страница 1 из 1
22.03.2012, 22:54:48
    #37718909
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
Всем привет.
Есть у меня хтмл таблица которую я создаю на пхп, она отображает структуру таблици в бд которая содердит линки на различные сайты. Мне нужно сдлелать так чтобы юзер который заходит на страничку мог поставить галочки в чек бокса напртив тех ссылок которые он хочет удалить а потом удалить их из БД.
Одиночную запись я могу удалить через один чек бокс а как проверить состоянии каждого чек бокса и соотвесвенно отреагировать на ее состояние, если выделен то удалить строку из БД.
...
Рейтинг: 0 / 0
22.03.2012, 23:40:24
    #37718964
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
forward12,

Даете каждому чекбоксу name, а на серверной стороне смотрите, какие из них пришли в $_POST/$_GET. По полученным значениям собираете запрос на удаление. Не?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.03.2012, 00:58:58
    #37719044
LcF
LcF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
forward12, обойти чекбоксы можно с помощью getElementsByTagName. Проверить свойство checked и потом передать массив id или name в скрипт удаления.
...
Рейтинг: 0 / 0
23.03.2012, 01:28:51
    #37719074
dresden
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
Код: php
1.
2.
3.
4.
foreach($_POST as $name=>$value){
echo $name;
echo $value;
}


?
Только другие переменные могут мешаться
...
Рейтинг: 0 / 0
23.03.2012, 05:31:17
    #37719281
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
dresdenТолько другие переменные могут мешаться
дайте их именам уникальный префикс, по нему и фильтруйте
...
Рейтинг: 0 / 0
23.03.2012, 06:28:40
    #37719290
dresden
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
r u,
я не стал это писать)
...
Рейтинг: 0 / 0
23.03.2012, 10:21:00
    #37719468
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
forward12,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<input type="checkbox" name="ids[]" value="1"> Первая
<input type="checkbox" name="ids[]" value="2"> Первая
<input type="checkbox" name="ids[]" value="3"> Первая
....
$ids = array_map('intval',isset($_POST['ids'])?$_POST['ids']:array());
if ($ids) {
DB::query('DELETE FROM table WHERE id IN (:ids)', array('ids' => $ids));
}
...
Рейтинг: 0 / 0
23.03.2012, 16:46:33
    #37720426
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
спасибо всем за коменты и за сорци.
А еще такой вопрос, по сопоставимой задаче, динамически генерятся textarea настранице, и нужно в бд записать значения из тех textarea которые не пустые, т.е. в те которые юзер занес данные.
...
Рейтинг: 0 / 0
23.03.2012, 18:50:01
    #37720633
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
Принцип не сильно отличается. Пустая текстария будет представлена в массиве пустой строкой, в отличии от тех, которые с текстом.
...
Рейтинг: 0 / 0
24.03.2012, 13:47:28
    #37721278
forward12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
vkle,

а можно привести пример строки кода в которой будет проверка длины содержимого этого textarea, а то с чек боксом понятно что нужно использовать isset, а как опрашивать каждое textarea?
...
Рейтинг: 0 / 0
24.03.2012, 14:47:25
    #37721309
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработка множества чек боксов
forward12пример строки кода в которой будет проверка длины содержимого этого textarea
Кроме isset() обычно нужно еще попустить через trim() . Для вычисления длины строки есть strlen() и mb_strlen() , но проверка на пустую строку, которая может быть после trim(), будет гораздо проще.


forward12как опрашивать каждое textarea?В цикле, например. Хотя, тут могут быть варианты.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / обработка множества чек боксов / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]