Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2013, 23:14   #1
iljak
Новичок
Джуниор
 
Регистрация: 02.02.2013
Сообщений: 3
Печаль Функция для мульти добавления

хотел у вас узнать может мне кто помочь в решение моей проблемы?

у меня есть Функция, в ней селекток принимает только один параметр а чекбокс может принимать много и после отправлять все в базу.
может кто помочь сделать функцию только для мультиселектора? что бы при выделение в мултиселект несколько пунктов и они все передавались дальше в базу.
Код:
function makeCategoryList($params = array()){
	global $catz, $lang, $mysql;

	$optList = array();

	if (!isset($params['skip'])) { $params['skip'] = array(); }
	if (!is_array($params['skip'])) { $params['skip'] = $params['skip']?array($params['skip']):array(); }
	$name = array_key_exists('name', $params)?$params['name']:'category';

	$out = '';
	if (!isset($params['checkarea']) || !$params['checkarea']) {
		if (!$params['noHeader']) {
			
			$out = "<select name=\"$name\" id=\"catmenu\"".
				((isset($params['style']) && ($params['style'] != ''))?' style="'.$params['style'].'"':'').
				((isset($params['class']) && ($params['class'] != ''))?' class="'.$params['class'].'"':'').
				">\n";
		}
	 if (isset($params['doempty']) && $params['doempty'])		{ $out.= "<option ".(((isset($params['greyempty']) && $params['greyempty']))?'style="background: #c41e3a;" ':'')."value=\"0\">".$lang['no_cat']."</option>\n"; $optList []= array('k' => 0, 'v' => $lang['nocat']); }
	 if (isset($params['doall']) && $params['doall'])			{ $out.= "<option value=\"".(isset($params['allmarker'])?$params['allmarker']:'')."\">".$lang['sh_all']."</option>\n"; $optList []= array('k' => (isset($params['allmarker'])?$params['allmarker']:''), 'v' => $lang['sh_all']);  }
	 if (isset($params['dowithout']) && $params['dowithout'])	{ $out.= "<option value=\"0\"".(((!is_null($params['selected'])) && ($params['selected'] == 0))?' selected="selected"':'').">".$lang['sh_empty']."</option>\n"; $optList []= array('k' => 0, 'v' => $lang['sh_empty']); }
	}
	if (isset($params['resync']) && $params['resync'])  {
		$catz = array();
		foreach ($mysql->select("select * from `".prefix."_category` order by posorder asc", 1) as $row) {
			$catz[$row['alt']] = $row;
			$catmap[$row['id']] = $row['alt'];
		}
	}

	foreach($catz as $k => $v){
		if (in_array($v['id'], $params['skip'])) { continue; }
		if ($params['skipDisabled'] && ($v['alt_url'] != '')) { continue; }
		if (isset($params['checkarea']) && $params['checkarea']) {
			$out .= str_repeat('— ', $v['poslevel']).
					'<label><input type="checkbox" name="'.
					$name.
					'_'.
					$v['id'].
					'" value="1"'.
					((isset($params['selected']) && is_array($params['selected']) && in_array($v['id'], $params['selected']))?' checked="checked"':'').
					(((($v['alt_url'] != '')||(isset($params['disabledarea']) && $params['disabledarea'])))?' disabled="disabled"':'').
					'/> '.
					$v['name'].
					"</label><br/>\n";
		} else {
			$out.="<option value=\"".((isset($params['nameval']) && $params['nameval'])?$v['name']:$v['id'])."\"".((isset($params['selected']) && ($v['id']==$params['selected']))?' selected="selected"':'').($v['alt_url'] != ''?' disabled="disabled" style="background: #c41e3a;"':'').">".str_repeat('— ', $v['poslevel']).$v['name']."</option>\n";
			$optList []= array('k' => ((isset($params['nameval']) && $params['nameval'])?$v['name']:$v['id']), 'v' => str_repeat('— ', $v['poslevel']).$v['name']);
		}
	}
	if (!isset($params['checkarea']) || !$params['checkarea']) {
		if (!$params['noHeader']) {
			$out.="</select>";
		}
	}

	if (isset($params['returnOptArray']) && $params['returnOptArray'])
		return $optList;

	return $out;
}
правда не знаю может ли быть достаточно какого кода
iljak вне форума Ответить с цитированием
Старый 02.02.2013, 23:55   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Нужен список со множественным выбором элементов (multiple)?
По ссылке есть пример реализации такого списка и обработки его результатов.
Правда, выглядит такой мульти-селект несколько иначе, чем привычный с одним вариантом выбора.
Andkorol вне форума Ответить с цитированием
Старый 03.02.2013, 14:45   #3
iljak
Новичок
Джуниор
 
Регистрация: 02.02.2013
Сообщений: 3
По умолчанию

Andkorol если вас не затруднит. не могли бы вы мне помочь сделать такую функцию с переменными которые есть в примере для "multiple" я пытался но у меня форма селект передает только последний выбранный параметр. а как поставить туда цикл foreach и убрать все лишнее от чекбокса я не знаю
iljak вне форума Ответить с цитированием
Старый 03.02.2013, 16:31   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Я не пишу код вместо кого-то – я подсказываю, как этот код можно написать.
Если ты пробовал, и у тебя не получается – не страшно, так бывает.
Показывай свои наработки, объясняй что не получается – и тебе помогут, подскажут что и как исправить.
Andkorol вне форума Ответить с цитированием
Старый 04.02.2013, 02:12   #5
iljak
Новичок
Джуниор
 
Регистрация: 02.02.2013
Сообщений: 3
По умолчанию

дело не в том что я не хочу попробовать сам или мне лень... и типо сделайте за меня. а в том что я просто понятия даже не имею как перенести нужные переменные и создать из них то что мне надо. ну да ладно. спасибо за помощь. буду думать что-то другое.
iljak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна функция для добавления заданого елемента после первого положительного числа.С++. DIQUON Помощь студентам 12 22.12.2012 20:07
Форма для добавления данных в таблицу adaptaciya БД в Delphi 3 25.05.2012 01:28
Postgre: функция добавления товара на склад Blondy SQL, базы данных 2 07.01.2012 14:32
форма для добавления по дате maratmm Microsoft Office Excel 1 21.11.2010 21:34
Код Delphi для мульти-калькулятора Alex_Axel Общие вопросы Delphi 3 22.05.2010 21:22