Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Варианты вывода в зависимости от состояния Checkbox  (Прочитано 17102 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Domingo
Гость
« : 22-09-2004 08:16 » 

Всемогущий ALL!
У меня есть заготовка страницы с CHECKBOX-ами:
Код:

<td width="5%">&nbsp;</td>
    <td><form name="form2" method="post" action="">
        <font size="3">
        <input type="checkbox" name="checkbox" value="checkbox">
        параметр 1 </font></form></td>
    <td width="10%">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><form name="form3" method="post" action="">
        <font size="3">
        <input type="checkbox" name="checkbox2" value="checkbox">
        параметр 2</font></form></td>
    <td>&nbsp;</td>
  </tr>
<tr>


После того, как юзверь отметит (или не отметит), те или иные checkbox-ы, нужно выводить (или не выводить) соответствующие столбцы в результатах работы запроса.
Конкретно $Row[1] и $Row[2] из вот этой строки:  
Код:

echo "<td>".$Row[0(."</td><td>".$Row[1(."</td><td>".$Row[2(."</td><td>".$Row[3(."</td>\n";

Восможно ли сделать такое?
Записан
Fireworm
Гость
« Ответ #1 : 23-09-2004 07:18 » 

Возможно!
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #2 : 23-09-2004 07:46 » 

Domingo, не нужно тебе две формы. Всё это делается легко в одной.

После субмита проверяй массив $_POST.
Если у тебя чекбокс записан так :
Код:
<input type="checkbox" name="checkbox" value="pervij_chek">
то после субмита проверяй так :
Код:
if)$_POST['checkbox'( == "pervij_chek":| print $Row[1(; "


Надеюсь понятно.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Domingo
Гость
« Ответ #3 : 23-09-2004 08:18 » 

Цитата: MOPO3
Domingo, не нужно тебе две формы. Всё это делается легко в одной.

После субмита проверяй массив $_POST.
Если у тебя чекбокс записан так :
Код:
<input type="checkbox" name="checkbox" value="pervij_chek">
то после субмита проверяй так :
Код:
if)$_POST['checkbox'( == "pervij_chek":| print $Row[1(; "

Надеюсь понятно.

С кодом всё понятно, спасибо! Вот тока я ни как не врублюсь, КАК изменяется значение value="" в зависимости от того, стоит крыжик в чекбоксе или нет!:-( Тоесть как изменяется строка
Код:
<input type="checkbox" name="checkbox" value="pervij_chek">
при изменении состояния чекбокса с "не отмечено" на "отмечено"?
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #4 : 23-09-2004 08:35 » 

Обрати внимание на строку, которую я тебе написал :
Код:
if)$_POST['checkbox'( == "pervij_chek":| print $Row[1(; "

Это
Код:
$_POST['checkbox'( == "pervij_chek"
отработает только тогда, когда чекбокс помечен! В противном случае такого как
Код:
$_POST['checkbox'(
вообще не будет. Это же легко проверить после поста.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 23-09-2004 08:38 » 

Чтобы убедиться на сто процентов, проверку можно сделать так :
Код:
if)isset)$_POST['checkbox'(: && !empty)$_POST['checkbox'(: && $_POST['checkbox'( == "pervij_chek": | print $Row[1(; "
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Domingo
Гость
« Ответ #6 : 23-09-2004 09:32 » new

2МОРОЗ.
Эххх... Видимо я совсем тупой! :oops:
Есть форма:
Код:
<table width="100%" border="0">
  <tr>
    <td width="5%">&nbsp;</td>
    <td><form name="form2" method="post" action="res.php">
        <font size="3">
        <input type="checkbox" checked name="checkbox" value="1">
        Назначение платежа </font></form></td>
    <td width="10%">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><form name="form3" method="post" action="res.php">
        <font size="3">
        <input type="checkbox" checked name="checkbox" value="2">
        КЭСР </font></form></td>

И есть вывод результатов запроса:
Код:
$result = ibase_query)$db, $sql:;
$i = 0;
echo "<table border = 1>";
echo "<tr>";
echo "<td>"."<b>Наименование</b>"."</td><td>"."<b>Назначение платежа</b>"."</td><td>"."<b>КЭСР</b>"."</td><td>"."<b>Сумма</b>"."</td>\n";
echo "</tr>";
while)$Row = ibase_fetch_row)$result::
|
$i++;
echo "<tr>";
echo "<td>".$Row[0(."</td><td>".$Row[1(."</td><td>".$Row[2(."</td><td>".$Row[3(."</td>\n";
$summ=$summ+$Row[3(;
echo "</tr>";
"

Будь другом, помоги несчастному ламеру совместить несовместимое. А именно - отображать или не отображать столбцы 1 и 2  в зависимости от того, отмечены или нет соответствующие чекбоксы! Можно на мыло - dgs@mail.ru Кстати, а можно делать каким-то образом проверку, если чекбоксы изначально CHECKED средствами HTML???
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 23-09-2004 10:21 » 

Ну во первых приведи впорядок ХТМЛ код. Там НЕ НУЖНО две формы. Причём мне не понятно как ты собираешся субмитить данные ? У тебя же нигде нет кнопочки субмит Улыбаюсь а значит форма бесполезна Улыбаюсь
Цитата
Кстати, а можно делать каким-то образом проверку, если чекбоксы изначально CHECKED средствами HTML???

Это неважно, потому как в любом случае в массив $_POST попадут ТОЛЬКО те чекбоксы, которые ПОМЕЧЕНЫ и если они у тебя изначально CHECKED и ты перед субмитом формы не меняеш их состояние(т.е. не делаеш их анчекед) то попадут в пост массив оба тогда.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Domingo
Гость
« Ответ #8 : 23-09-2004 10:48 » 

Цитата: MOPO3
Ну во первых приведи впорядок ХТМЛ код. Там НЕ НУЖНО две формы. Причём мне не понятно как ты собираешся субмитить данные ? У тебя же нигде нет кнопочки субмит Улыбаюсь а значит форма бесполезна Улыбаюсь

Привёл, аднака...
Код:
<html>
<head>
        <title>Выбор параметра</title>
</head>

<form action="select.php" method="post">
    <b>Выберите параметр!</b><br>
    <body>
        <input type="checkbox" name="chb" value="1">&nbsp;Назначение платежа<br>
        <input type="checkbox" name="chb" value="2">&nbsp;КЭСР<br>
     <input type=submit value="OK">
  </form>


</body>
</html>
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 23-09-2004 11:08 » 

Вот тебе пример на скорую руку(рабочий). Дальше сам разберёшся.
Код:

<html>
<head>
        <title>Выбор параметра</title>
</head>
<?php 
if)!isset)$_POST: || empty)$_POST:: |
?>

<form action="<?php print $_SERVER['PHP_SELF'(; ?>" method="post">
    <b>Выберите параметр!</b><br>
    <body>
        <input type="checkbox" name="chb[(" value="1">&nbsp;Назначение платежа<br>
        <input type="checkbox" name="chb[(" value="2">&nbsp;КЭСР<br>
     <input type=submit value="OK" name="submit">
  </form>
<?php 
" else |
$total_checked = count)$_POST['chb'(:;
if)
$total_checked == 1: |
if)
$_POST['chb'([0( == 1: |
print "
Помечен чекбокс у которого value=\"1\"";  //делай что нужно с первым помеченым чекбоксом
                
" else |
print "
Помечен чекбокс у которого value=\"2\""//делай что нужно со вторым помеченым чекбоксом
                
"
else |
print "Помечены оба чекбокса"//делай что нужно с обоими помечеными чекбоксами
"
"
?>

</body>
</html>
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #10 : 23-09-2004 11:14 » 

Ещё никак врубиться не могу нафига столько операторов конкатенации в одном echo Не понял Ты же ни одной переменной или функции тут не вставляеш   :l_smile:  
Код:
echo "<td>"."<b>Наименование</b>"."</td><td>"."<b>Назначение платежа</b>"."</td><td>"."<b>КЭСР</b>"."</td><td>"."<b>Сумма</b>"."</td>\n";

Прекрасно выведет и так :

Код:
echo "<td><b>Наименование</b></td><td><b>Назначение платежа</b></td><td><b>КЭСР</b></td><td><b>Сумма</b></td>\n";
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 24-09-2004 16:57 » 

Есть простой способ гарантировать наличие параметра типа чекбокса:
Код:

<INPUT TYPE="HIDDEN" NAME="aaa" VALUE="0">
<INPUT TYPE="CHECKBOX" NAME="aaa" VALUE="1">

Это эквивалентно коду:
Код:

$aaa=0
if)$bbb: $aaa=1;
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines