|
|
|
|
|
для: serjinio
(29.07.2009 в 00:38)
| | И почему это вам array_map не подходит? А если подумать? :) Текстовые поля, и поля загружаемых файлов должны иметь в имени своем индекс равный ID записи, а чекбоксы этот индекс содержат в качестве значения. Тогда:
<?
//получаем массив полей которые выбраны
$checked = array_map('intval', $_POST['check']);
//далее по этому массиву проверяем все
//получаем только выбранные описания
$desc = array_intersect_key($_POST['desc'], array_flip($checked));
//а в цикле проверки загруки изображений выбираем только те, что отмечены
//имеются в массиве $checked
|
| |
|
|
|
|
|
|
|
для: sim5
(28.07.2009 в 15:49)
| | Прошу прощение за паузу..к сожалению мне array_map не подходит кроме вышеуказанных полей присутствуют поля type="file"
смысл заключается в том что на страницу динамически те(произвольное количество )выводятся поля
выбор картинки ее описание и чекбокс ..опубликовывать или нет
далее они поступают в обработчик который загружается во фрейме ..он принимает массив $_FILES и массив$_POST текстовых полей и чекбоксов...обрабатывает это в цикле
for ($i=0; $i<count($_FILES['fl']['name']); $i++) {
if (is_uploaded_file($_FILES['fl']['tmp_name'][$i]) == TRUE)
{
проверки..ресайз....
$Description=$_POST['descr'][$i]...
$img_name=$_POST['n'][$i]== ...
проверка чекбоксов......
$hide_info=$_POST['reg'][$i].............
запись в БД.....
$Message.='<div ><img src="'.$filename_thumb_path.'" width="160" height="120" border="0" /></div><p>Описание : <span class="info">'.$Description.'</span></p>
<p class="in">Статус просмртра : '.$hide_info.' </p>' и тд....
}
<script type="text/javascript">
parent.document.getElementById("imageId").innerHTML ='<?php echo $Message ?>';
</script>
|
делает ресайз картинок и выводит в этом фрейме блоки типа AJAX во фрейме...в которых превьюшка и данные к ней типа описание и включен или выключен чекбокс ..одновременно производится запись в Бд (в цикле) имя картинки ее параметры,описание ,название и значение чекбокса(для нее)..те опубликовывать или нет...
те все запустил но проблема привязки значений чекбоксов к картинкам.... | |
|
|
|
|
|
|
|
для: Рома
(28.07.2009 в 17:35)
| | стебун?
смотря для чего это нужно.
для данного вопроса (как Я его понял), проще посмотреть наличие $_POST['reg'][1]
а не изгаляться через
foreach ($_POST['reg'] as $v) {
switch ($v) {
case 10: <код>; break;
case 20: <код>; break;
…
}
}
если понял не так, то проще просуммировать все значения $_POST['reg'] (аналог SET в mysql; для этого value-значение представляются как степень двойки. удобно)
ps: одним людям мозг нужен для того, чтобы думать; другим — чтобы не ‘бухало’, когда стучишь по голове… | |
|
|
|
|
|
|
|
для: Рома
(28.07.2009 в 17:20)
| | дело вкуса.
По мне так array_map выглядит симпатичней. | |
|
|
|
|
|
|
|
для: x64
(28.07.2009 в 17:23)
| | >флажок не отмечен, браузер значение не передаёт.
А восемь умножить на восемь равно шестьдесят четыре. | |
|
|
|
|
|
|
|
для: Рома
(28.07.2009 в 17:20)
| | если тут:
><input name="reg[1]" type="checkbox" value="10" />
><input name="reg[2]" type="checkbox" value="12" />
флажок не отмечен, браузер значение не передаёт. | |
|
|
|
|
|
|
|
для: Trianon
(28.07.2009 в 15:17)
| | Можно у Вас просто поинтересоваться, а то мне уже неудобно ответы постить? А разве не логичнее здесь применить foreach? | |
|
|
|
|
|
|
|
для: serjinio
(28.07.2009 в 14:59)
| | Ошибка говорит о том, что второй аргумент функции не является массивом, хотя $_POST, это массив. Значит вы запендюрили эту функцию, не проверив, пришел ли вам массив $_POST. Проверьте:
<?
print_r(array_map('intval', array(1, 2, 3, 'a', 5)));
|
Если ваши чекбоскы служат для проверки выбора/не выбора определенных ID, то значениям этих чебоксов укажите не единички, а ID. Тогда вышеприведенный код позволит получить только реальные ID возвращенные пользователем. Можно ID указать и как ключи массива $_POST. В этом случае можно проверить вышеприведенным способом ключи, либо значения, но предварительно array_flip($_POST['reg']). Если указывать ключам ID, то значения для чекбоксов можно не указывать, невыбранные чекбоксы не передаются на сервер, а установленные передают значение "on".
В общем как делать проверку, зависит от того, чему служат ваши чекбоксы, а чему они служат я не знаю. | |
|
|
|
|
|
|
|
для: Trianon
(28.07.2009 в 15:36)
| | смешной примерчик. убедили :) | |
|
|
|
|
|
|
|
для: ride
(28.07.2009 в 15:31)
| | >впринципе,
>
<input type="checkbox" name="reg[22]" value="22">
| - тоже вариант и ни к каким плохим последствиям не приведет.
Конечно. Равно как возможен и следующий вариант:
<input type="checkbox" name="reg[22]" value="Повторяю для тех, кто в танке, 22 (двадцать второй нумер) отмечен! 22 is on!!! ">
|
Вопрос лишь, зачем? | |
|
|
|
|