Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форма с выбором 
:(
    Опции темы
Igor_CH
Дата 24.8.2005, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 20.3.2005

Репутация: нет
Всего: нет



Вот посмотрите такая форма:
Код

<?php
$b1 = "0";

if ($vibor_1 = 1) {
$b2 = "100";
}
if ($vibor_1 = 2) {
$b2 = "200";
}
if ($vibor_1 = 3) {
$b2 = "300";
}
if ($vibor_1 = 4) {
$b2 = "400";
}
if ($vibor_1 = 5) {
$b2 = "500";
}

?>

<table border=1>
<form name="raschet" action="?raschet" method="POST">
<tr><td>
выбор 1
<p><select multiple size="6" name="vibor_1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select></p>        
</td></tr>
<tr><td>
Выбор 2 завиит от выбора 1
<p><select size="1" name="vibor_2">
   <option value="<?=$b1;?>">Нет</option>
   <option value="<?=$b2;?>">Да</option>
</select></p>
</td></tr>
<tr><td><input type=submit value="Подсчет"></form></td></tr>
<tr><td>
<?php
if ($QUERY_STRING=="raschet"):

$vibor_w = $vibor_2;
echo "И того: $vibor_w";

$QUERY_STRING=="raschet";
endif;
?>
</td></tr></table>

Из первого списка (выбор 1) выбираем одну из цифр, из второго списка (выбор 2) «Нет», «Да». Если «НЕТ» то $b2 = 0, если «Да» то переменная должна равняться переменной $vibor_1 . Но почему то не выходит, что не так?

PM MAIL   Вверх
-=Ustas=-
Дата 24.8.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Что-то у тебя логика не очень... smile Посмотри вот это, на быструю руку подредактировал, но главное работает как тебе надо:
Код

<table border=1>
<form name="raschet" action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<tr><td>
Выбор 1
<p><select multiple size="6" name="vibor_1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select></p>
</td></tr>
<tr><td>
Выбор 2 зависит от выбора 1
<p><select size="1" name="vibor_2">
    <option value="0">Нет</option>
    <option value="1">Да</option>
</select></p>
</td></tr>
<tr><td><input type=submit name="yes" value="Подсчет"></form></td></tr>
<tr><td>

<?php

if (isset($_POST['yes'])) {
    switch ($_POST['vibor_1']):
        case (1):
            $b1 = 100;
            break;
        case (2):
            $b1 = 200;
            break;
        case (3):
            $b1 = 300;
            break;
        case (4):
            $b1 = 400;
            break;
        case (5):
            $b1 = 500;
            break;
    endswitch;

    switch ($_POST['vibor_2']):
        case (0):
            $b2 = 0;
            break;
        case (1):
            $b2 = $b1;
            break;
    endswitch;

echo "Итого : ".$b2;

}

?>

</td></tr></table>

Добавлено @ 12:55
Ну а если же тебе не нужно делать других расчетов, то конструцию switch можно вообще на нет свести:
Код

<?php

if (isset($_POST['yes'])) {
    $b1 = "".$_POST['vibor_1']."00";
    if ($_POST['vibor_2'] == 1) {
        $b2 = $b1;
    } else {
        $b2 = 0;
    }
    echo "Èòîãî : ".$b2;
}

?>



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
IZ@TOP
Дата 24.8.2005, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Igor_CH @ 24.8.2005, 13:10)
if ($vibor_1 = 5) {
$b2 = "500";
}

А можно спросить почему в операторе if идет присвоение вместо знака равенства?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 24.8.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



А вообще, лучше через switch все это делать.
PM ICQ   Вверх
Phantom1
Дата 24.8.2005, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 25.7.2005

Репутация: 1
Всего: 2



Правельно говорят вместо if лучще switch

согласен с -=Ustas=- если $b.. - всегда такая как ты описал то лучше делать так
$b1 = "".$_POST['vibor_1']."00";
а может уже в select зделать value=100
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.