Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запись данных в базу данных
 
 автор: kristina   (18.05.2008 в 20:40)   письмо автору
 
 

у меня есть спиок с радиобатонами, скжите пожалуйста, как записать в таблицу значеие 1 если радиобатон выбран, а остальным присвоить 2

   
 
 автор: sim5   (19.05.2008 в 12:05)   письмо автору
 
   для: kristina   (18.05.2008 в 20:40)
 

Ну смотря какие "радиобатоны". Вообще же так:

<form action="" method="post">
<strong>Group of buttons</strong>
<div style="border: 1px solid Red; width: 240px;">
<input type="radio" name="gbt" value="1">Button 1
<input type="radio" name="gbt" value="2">Button 2
<input type="radio" name="gbt" value="3">Button 3
</div>
<br>
<strong>Single buttons</strong>
<div style="border: 1px solid Red; width: 240px;">
<input type="radio" name="bt1" value="4">Button 4
<input type="radio" name="bt2" value="5">Button 5
<input type="radio" name="bt3" value="6">Button 6
</div>
<br>
<strong>Single checkbox</strong>
<div style="border: 1px solid Red; width: 240px;">
<input type="checkbox" name="ch1">Checkbox 1
<input type="checkbox" name="ch2">Checkbox 2
<input type="checkbox" name="ch3">Checkbox 3
</div>
<br>
<input type="reset" value="Reset">
<input type="submit" value="Sender">
</form>
<?php
//вывод полученного массива из формы 
print "<pre>";
print_r($_POST);
print 
"</pre>";
//вывод значения группы, если получено 
print isset($_POST['gbt']) ? "Значение полученное от группы равно ".$_POST['gbt']."<br><br>" :
"Значение группы не установлено."."<br><br>";
//определение полученных чекбоксов
$b1 = isset($_POST['ch1']) ? 2//если выбран чекбокс 1, то 1, иначе 2
$b2 = isset($_POST['ch2']) ? 2//если выбран чекбокс 2, то 1, иначе 2
$b3 = isset($_POST['ch3']) ? 2//если выбран чекбокс 3, то 1, иначе 2
//вывод значений переменных
print "Значение переменной 1 равно ".$b1."<br>
       Значение переменной 2 равно "
.$b2."<br>
       Значение переменной 3 равно "
.$b3."<br><br>";
//Определяем какие чекбоксы получены,
//используя имя кнопки для определения.
//Определим массив со значениями по умолчанию
$a = array('ch1' => 'Кнопка ch1 не выбрана'
        
'ch2' => 'Кнопка ch2 не выбрана',
        
'ch3' => 'Кнопка ch3 не выбрана');
//проходим цикл 
foreach ($_POST as $key => $val) {
  
//если кнока выбрана, то ищем ассоциацию в массиве
  //и заменяем значение этого ключа  
  
if ($key$a[$key] = 'Кнопка '.$key.' выбрана';
}
print 
$a['ch1']."<br>".$a['ch2']."<br>".$a['ch3'];

Здесь, в форме, находятся два типа радиокнопок - первый тип, это группа, в которой можно выбрать только одну из кнопок, второй, это радиокнопки с независимой фиксацией. Получив форму, вы можете заметить, что у группы радиокнопок вы можете узнать полученное значение, но никакая кнопка группы была выбрана (косвенно конечно можно, если значения кнопок группы не изменяются, фиксированы). В общем для вашей задачи это вроде не подходит. У второго типа кнопок вы можете узнать и что за кнопку выбрали, и ее значение, но... Радиокнопку после выбора уже нельзя разотметить, не используя копку Reset формы, что не очень удобно (для вашего случая, у вас же много кнопок, а это прокрутка...). Третий тип кнопок, это чекбоксы. Для произвольного выбора, это как раз самый подходящий тип кнопок. Заметьте, что у них отсутствует атрибут value, так как вам (по задаче) он вроде бы и не нужен. После получения формы, print_r() вам покажет, например, если выбраны будут кнопки Checkbox 1 и Checkbox 3:

Array
(
    [ch1] => on
    [ch3] => on
)

Т.е. мы получим только признак того, что эти чекбоксы отмечены пользователем, а Checkbox 2 нет. В цикле foreach (), в примере, можно узнать какие из чекбоксов были выбраны. Определив тип кнопок нужных вам, зная для чего производится запись (как соотнести имена полей таблицы и кнопки), несложно будет произвести ее. Но сначала, обязательно, нужно уяснить работу различных типов кнопок, и выбрать нужные (более удобные для решения задачи).

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования