Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обращение к имени checkbox, если имя формируется из массива.
 
 автор: ramundo   (01.05.2014 в 19:21)   письмо автору
 
 

Не знаю, правильно ли сформулировал вопрос, но суть такова:

Делаю несколько чекбоксов к фоткам:


 foreach ($data as $row):

echo "<input type='checkbox' name='".$row['num']."'   value='".$row['num']."'> <img src='".$row['thumbnail']."' width='50' height='70'><br><br>";

endforeach;



Не допру, как обращаться к именам чекбоксов, сформированных из массива, чтобы, во-первых,
сделать один, который будет отмечать все.


echo "<input type='checkbox' name='all' onchange='ИМЯ.click()'>";


а во-вторых,
чтобы обращаться к этим именам при формировании запросов на обновление или удаление фотографий . Типа "UPDATE photos set album='альбом' WHERE num IN ( и вот тут имена чекбоксов).

  Ответить  
 
 автор: confirm   (02.05.2014 в 06:44)   письмо автору
 
   для: ramundo   (01.05.2014 в 19:21)
 

Подход в представлении элементов формы неверный. Не к именам чекбоксов нужно обращаться, а к ID записей, которые должны быть указаны в атрибуте value. Имя же чекбокса должно отображать массив, то есть набор значений для поля (хотя вставлять именно имена полей таблицы базы в форму не лучшее).

<input name="field_name[]" value="1" />
<input name="field_name[]" value="2" />
<input name="field_name[]" value="3" />
<input name="field_name[]" value="4" />

<?
//прием
if($_POST['field_name']) {
    
' ... WHERE name IN(' .implode(','array_map('intval'$_POST['field_name'])). ')'
}


"Один, который будет отмечать все", это прерогатива Javascript, и требует конкретной постановки вопроса.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования