Трабл с чекбоксами

Coder.ua

Guest
Трабл с чекбоксами

Всем привет!
Есть небольшой трал с чекбоксами!!!
Описываю ситуацию.
Есть база и таблица tbl_texts с названиями текстов.
В ней есть такие поля: t_id (думаю, понятно), t_name (имя текста) и t_enable (флаг который показывает, отображать текст на странице или нет).

Далее на странице администрирования, то есть управления текстами, я получаю список текстов которые содержатся в базе. И рядом с названием текста ставлю чекбокс (переменная - $text_id[]). Если свойство t_enable ==’Y', то делаю его отмеченным (это показывает, что текст доступен для просмотра.), в противном случаю, просто неотмеченный чекбокс.

Далее мне необходимо, допустим, некоторые тексты, которые были видимыми сделать недоступными для просмотра, а невидимые - наоборот.

Поскольку доступ к чекбоксу можно получить через массив, я использую такой метод.
Последовательно перебираю массив, и в зависимости от значения выполняю те или иные действия. Но тут и возникает вся проблема. В элементе массива содержится не состояние флажка, а id-текста, чтобы потом знать с каким текстом, выполнять операцию.

А теперь собственно вопрос. Как узнать отмечен флажек или нет? На сколько я понимаю, то если он отмечен, то можно просто проверить элемент массива
if ($text_id[$i]) {do something….;}
А если не отмечен, то так if (!$text_id[$i]) {do else….;}
Так?
Но у меня что-то не выходит!

Вот кусочек моего кода:
PHP:
for ($i = 0; $i < count ($text_id); $i++)
{
    	$text_id = $text_id[$i];
if ($text_id[$i])
  	{
  		text_enable = 'Y';
  		text_enable();
  	}
  	else 
{
  		text_enable = 'N';
  		text_enable();
   	}
  	
  }
Заранее благодарен!
С уважением, Coder.ua
 

zap

Guest
еще смотря какой тип данных переменной $text_id[$i], имеется ввиду тип Boolean
 

Денч

Новичок
zap
какие типы? Либо есть переменная(галочка стоит), либо ее нет (нет галочки)
 

confguru

ExAdmin
Команда форума
Что выдает
PHP:
print_r($text_id);
-~{}~ 10.08.05 09:05:

И используй [m]foreach[/m] для обхода массива
 

Мутник

Новичок
PHP:
$text_id = $text_id[$i];
ага, позволь я угадаю результат работы твоего примераю....

посмотри внимательнее...
 

mike

pmcoder
Убил массив на первом шаге.

PHP:
$text_id = $text_id[$i];
:eek: Опоздал...
 

Coder.ua

Guest
Автор оригинала: mike
Убил массив на первом шаге.

PHP:
$text_id = $text_id[$i];
:eek: Опоздал...
Я немного перепутал!
Вместо $text_id, должна быть переменная $in_text_id. Она задется специально, поскольку используется в функции text_enable ();
Так что ничего я там ни убиваю!

У меня с отмеченными галочками все работает, а неотмеченные игнорирует!!!

Дайте, пожалуйста, дельный совет!
 

SiMM

Новичок
> У меня с отмеченными галочками все работает, а неотмеченные игнорирует!!!
Дельный совет уже был. От admin
[m]print_r[/m]($text_id);
 

Coder.ua

Guest
Вот кусок моего реального кода!
PHP:
  	for ($i = 0; $i < count ($text_id); $i++)
  	{
  		$my->in_text_id = $text_id[$i];
  		if ($text_id[$i])
  		{
  			$my->in_text_enable = 'Y';
  			$err = $my->in_text_enable();
  			if($err) 
   			{
				echo $my->err_to_html ($err);
    			exit();
   			}
   			else {
   				$my->html_error .= " $text_id[$i] ";
   			}
  		}
  		else {
  			$my->in_text_enable = 'N';
  			$err = $my->in_text_enable();
  			if($err) 
   			{
				echo $my->err_to_html ($err);
    			exit();
   			}
   			else {
   				$my->html_error .= " $text_id[$i] ";
   			}
  		}
   	}
-~{}~ 10.08.05 12:07:

Я просто не могу понять, как же проверить отмечена галочка или нет! Поскольку value визде установлено, и оно равняется id-текста.
Как можно еще?
 

SiMM

Новичок
> просто не могу понять, как же проверить отмечена галочка или нет!
[m]isset[/m]
 

Coder.ua

Guest
Автор оригинала: IntenT
если чекбокс не выбран, он не передается в запрос
Так что, проверять isset' ом?

Тут chisto_tolyan, писал, что если чекбокс выбран, его value = "ON";

Может можно использовать значение value = "OFF"?
 

chisto_tolyan

Враг народа
он тебе покажет какие переменные с какими значениями находятся в массиве, должно натолкнуть на правильную мысль)
 

Coder.ua

Guest
Автор оригинала: chisto_tolyan
он тебе покажет какие переменные с какими значениями находятся в массиве, должно натолкнуть на правильную мысль)
попробовал функцию print_r(). Она выводит идентификаторов текстов.

PHP:
Array ( [0] => 40 )
Получается, что я никак не могу получить доступ к неотмеченному флажку!!!
 

IntenT

SkyDiver
Coder.ua
если чекбокс не выбран, он не передается в запрос
чтобы узнать те, которые не были выбраны, надо из всех, которые есть на странице убрать те, которые были выбраны
 
Сверху