Задать вопрос
@Ruslan_K
Web Developer

Как реализовать действие «Отметить всех (снять отметки)» в большом списке с постраничной навигацией на PHP+MySQL?

Добрый день. Есть необходимость работать со списком подписчиков, списки могут достигать нескольких тысяч и десятков тысяч строк (реже, но могут). Естественно, такой объем вывести сразу в браузер, мягко говоря неразумно. Поэтому логично использовать постраничный вывод.
Загвоздка заключается в следующем, необходимо чтобы у пользователя была возможность выбрать всех в списке или убрать всех из списка, но не просто отметить всех, а еще потом погулять по списку и выкинуть или добавить кого-то по своему желанию. Хотелось бы найти наиболее простое решение этой задачи. Пока вижу только путь в лоб, писать id подписчиков в js-массив и отправлять на сервер, но массив может получиться совсем не маленький.
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Arik
Чтоб сделать массив необязательно через JS, намного проще через
<input type="checkbox" name="delete_ids[]" value="<=$model-id?>" />

Тогда отправив форму вы получите массив из id которые были выбраны.
Это все отправляете разумеется методом POST, а там хватит, чтоб отработать список ID с одной страницы, которую смог прочитать человек. Ну и MySQL отдаем IN('. implode(', ', $deleteIds) .')

А вот чтоб выбрать все или отменить уже используете JS, там уже просто находите все чекбоксы и указывается checked
Ответ написан
Комментировать
@Ruslan_K Автор вопроса
Web Developer
с оптимизацией понятно, раньше времени смысла нет ей заниматься.
делал подобное, так как менять запрос к базе был недоступен, т.е. все работы только на клиенте)) массив из 5000 строк, где только айдишки поверьте капля в море!!

сейчас подобное решение работает, но думал может быть есть другой способ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽