Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для KillerJo
6 / 6 / 1
Регистрация: 27.12.2016
Сообщений: 127

Чекбоксы и вывод отмеченных строк

12.06.2017, 17:57. Показов 2239. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Нужна помощь по вопросу который в шапке. Если точнее, мне необходимо открыть выделенные чекбоксами позиции из таблицы в новом окне. Потом в этом новом окне их изменять с помощью текстовых инпутов. Не уверен что необходимо писать сюда весь код? т.к. он массивный. Поэтому пока скину необходимый минимум, а если появятся вопросы по неполноте картины, дополню.

Подключаюсь к БД, стартую сессию, на страничке Test.php
$func = переменная определяющая функцию полного SELECT запроса из БД.
Код ниже завернут в форму с методом POST экшн Test2.php (форум запретил эти теги вставлять)
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php require_once 'db.php' ?>
<?php require_once 'libs/libs_users.php' ?>
 
<?php $func = showAllUsers(); ?>
            <table border="1" align="center">
                <tr>
                    <td id="table"> ID</td>
                    <td id="table"> Имя</td>
                </tr>
 
                <?php
                foreach ($func as $item) :
                    ?>
 
                    <tr>
                        <td><?= $item['id'] ?></td>
                        <td><?= $item['login'] ?></td>
                        <td><input id="" type="checkbox" name="box[]" value="<?= $item['id'] ?>"></td>
                    </tr>
 
                    <?php
                endforeach;
                ?>
 
                <input type="submit" name="formSubmit" value="Submit"/>
            </table>
Вывод таблицы происходит адекватно и меня все устраивает.
Дальше идет вторая страница Test2.php, как бы принимающая выделенные чекбоксы.
Опять же подключаюcь к БД и стартую сессию(она прописана при подключении в файле db.php), подключаю функцию SELECT запроса к БД на вывод всей инфы из библиотеки libs_users.php, включаю её showAllUsers();.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php require_once 'db.php' ?>
<?php require_once 'libs/libs_users.php' ?>
 
<?php $func = showAllUsers(); ?>
<table border="1" align="center">
        <tr>
            <td id="table"> ID </td>
            <td id="table"> Имя </td>
        </tr>
        <?php
        $checked = $_POST['box'];
        if(!empty($checked)) {
            $sum = count($checked);
            echo("Выбрано $sum чекбокса с ID#");
            foreach ($checked as $sum) {
                echo('<br>' . $sum); // тут выводится № id выделенный на предыдущей странице и привязанный к чекбоксу
            }
        }
        else {
                echo("Вы ничего не выбрали!");
        }
    foreach ($func as $item):
        ?>
        <tr>
            <td><?= $item['id'] ?></td>
            <td><input type="text" value="<?= $item['login'] ?>"></td>
            </form>
        </tr>
        <?php
    endforeach;
    ?>
    </table>
Естественно выводятся только id-ишники первым циклом а вторым полный запрос в таблицу. Как вывести в текстовые инпуты отмеченные чекбоксами строки?!?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2017, 17:57
Ответы с готовыми решениями:

Удаление отмеченных строк из грида и .sdf базы
РРРРРррребятушки)))))в чем может быть дело - код не работает, не удаляет ни из бд ни из грида int deleted = 0; for...

Вывод отмеченных статей в ТОП
Как вывести отмеченные статьи в топ и чтобы они сортировались по дате &quot;ORDER by date desc&quot;, после того как все отмеченные статьи...

Не могу осуществить удаление из массива уже не отмеченных строк в ListView
Добрый вечер. Делаю ListView с чекбоксами и кнопкой, после нажатия на которую в массив записываются все отмеченные строки. Сделал...

7
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
12.06.2017, 18:30
PHP
1
2
3
4
5
6
7
8
foreach ($func as $item) 
if (in_array($item['id'],$checked)) { // проверяем, входит ли строка в выбранный список
echo '<tr>
            <td>'.$item['id'].'</td>
            <td><input type="text" name="val['.$item['id'].']" value="'.$item['login'].'"></td>
<!-- В POST данных будет массив val (id=>значение) -->
        </tr>';
}
1
 Аватар для KillerJo
6 / 6 / 1
Регистрация: 27.12.2016
Сообщений: 127
12.06.2017, 20:48  [ТС]
in_array() expects parameter 2 to be array, null given in F:\OpenServer\domains\localhost\project\ Cafe\Test2.php on line 33
33 строка: if (in_array($item['id'],$checked)) { // проверяем, входит ли строка в выбранный список


Добавлено через 1 час 46 минут
Извиняюсь, удалил и верхний цикл поэтому и был null.
Все работает СПАСИБО!
0
 Аватар для KillerJo
6 / 6 / 1
Регистрация: 27.12.2016
Сообщений: 127
15.06.2017, 14:04  [ТС]
Цитата Сообщение от plohoyav Посмотреть сообщение
PHP
1
2
3
4
5
...
<td><input type="text" name="val['.$item['id'].']" value="'.$item['login'].'"></td>
<!-- В POST данных будет массив val (id=>значение) -->
        </tr>';
}
То есть остальные строки будут выглядеть так?

PHP/HTML
1
2
<td><input type="email" name="val[<?= $item['id'] ?>]" value="<?= $item['email'] ?>"></td>
<td><input type="text" name="val[<?= $item['id'] ?>]" value="<?= $item['phone'] ?>"></td>
им всем задастся name="val['.$item['id'].']"?
Если не сложно объяснить, хотелось бы разобраться в этом моменте. А то код есть но непонятен.


з.ы.
Может есть идея как потом обновить (сохранить в БД) измененные данные?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
15.06.2017, 14:15
PHP
1
2
3
4
5
6
7
8
9
10
foreach ($func as $item) 
if (in_array($item['id'],$checked)) { // проверяем, входит ли строка в выбранный список
echo '<tr>
            <td>'.$item['id'].'</td>
            <td><input type="text" name="login['.$item['id'].']" value="'.$item['login'].'"></td>
            <td><input type="text" name="email['.$item['id'].']" value="'.$item['email'].'"></td>
            <td><input type="text" name="phone['.$item['id'].']" value="'.$item['phone'].'"></td>
<!-- В POST данных будут массивы login (id=>значение), email (id=>значение), phone (id=>значение),   -->
        </tr>';
}
1
 Аватар для KillerJo
6 / 6 / 1
Регистрация: 27.12.2016
Сообщений: 127
15.06.2017, 14:55  [ТС]
Цитата Сообщение от plohoyav Посмотреть сообщение
PHP
1
2
3
4
...
            <td><input type="text" name="email['.$item['id'].']" value="'.$item['email'].'"></td>
            <td><input type="text" name="phone['.$item['id'].']" value="'.$item['phone'].'"></td>
...
...ага, все таки не зря поинтересовался, исправил
Осталось только как то понять что делать с кодом ниже и куда его втыкать что бы все внесенные изменения в динамически выбранных input сохранялись в БД по нажатию кнопки.
PHP/HTML
1
2
$array = array("title"=>$_POST['title'], "description"=>$_POST['desc']); // массив данных
mq("UPDATE tablename SET ".sqlset($array)." WHERE id=".$_POST['id'] ); // обновление строки таблицы с выбранным id
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
15.06.2017, 16:12
PHP
1
2
3
4
foreach ($_POST['email'] as $id=>$v) {
$array = array("email"=>$_POST['email'][$id], "phone"=>$_POST['phone'][$id]); // можно использовать $v вместо $_POST['email'][$id]
mq("UPDATE tablename SET ".sqlset($array)." WHERE id=".$id );
}
0
 Аватар для KillerJo
6 / 6 / 1
Регистрация: 27.12.2016
Сообщений: 127
15.06.2017, 20:36  [ТС]
Почему то не работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2017, 20:36
Помогаю со студенческими работами здесь

Чекбоксы для строк в выпадающем списке ComboBox
Собственно есть ли компонент или как его сделать, чтоб в выпадающем списке были чекбоксы?

Отрицательные элементы отмеченных строк матрицы заменить на -1, положительные на 1, а 0 оставит без изменения
Даны натуральное число m, целые числа а1,..,аm и целочисленная квадратная матрица порядка m. Строку с номер i матрицы назовем отмеченной ,...

Упорядочить вывод в две колонки и больше чекбоксы
Привет есть код в котором выводятся чекбоксы: &lt;style type=&quot;text/css&quot;&gt; .two{ background: blue; height: 30px; width: 50%; } ...

Работа с файлами. Вывод нечетных строк с указанием номеров строк
#include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; #include &lt;stdio.h&gt; #include &lt;locale&gt; #include &lt;iostream&gt; using namespace std; int...

Поиск в файлах строк по заданному слову и вывод найденных строк в текстовый файл
Прошу помощи, т.к. в командных файлах разбираюсь слабо. Имеется некое количество txt-файлов в подкаталогах (все именуются aircraft.cfg)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru