Массив переключателей - нужна помощь - PullRequest
2 голосов
/ 26 мая 2011

У меня есть массив радиокнопок, с которыми мне нужна помощь. Вот код:

            <input type="radio" name="radio" id="academic" value="1"<?php
                    if ($row_EventInfo['academic'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['academic'] = '';}
                    ?>>
        <label for="academic">Academic</label><br />

        <input type="radio" name="radio" id="personal" value="1"<?php
                    if ($row_EventInfo['personal'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['personal'] = '';}
                    ?>>
        <label for="personal">Personal</label><br />

        <input type="radio" name="radio" id="diversity" value="1"<?php
                    if ($row_EventInfo['diversity'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['diversity'] = '';}
                    ?>>
        <label for="diversity">Diversity</label><br />

Я пытаюсь это сделать. У меня есть столбец в моей таблице базы данных для каждой радиокнопки, потому что мы должны иметь их входные данные отдельно. Однако я хочу, чтобы они могли выбирать только одну из кнопок одновременно. Я изменил все имена, чтобы они были одинаковыми («радио»), но так как PHP MYSQL использует имена, чтобы знать, где размещать информацию в таблице, он не знает, где размещать.

Есть ли способ создать оператор if, который скажет ему разрешить выбор только одной кнопки за раз и сохранить входные данные отдельно для таблицы базы данных?

Пожалуйста, дайте мне знать, если вам нужны разъяснения. Спасибо!

Ответы [ 3 ]

1 голос
/ 26 мая 2011

установить значение для имени столбца, например

<input type="radio" name="radio" id="diversity" value="diversity"

на конце php, просто сделайте что-то вроде

$sql = "UPDATE table SET {$_POST['radio']} = 1";
0 голосов
/ 26 мая 2011

Если вы используете:

<input type="radio" name="radio" id="diversity" value="value1">
<input type="radio" name="radio" id="diversity" value="value2">
<input type="radio" name="radio" id="diversity" value="value3">
<input type="radio" name="radio" id="diversity" value="value4">

, оно будет доступно в $_POST['radio']; с любой выбранной вами радиокнопкой.например, value3 не путайте себя, называя типы ввода с одинаковым именем

Если вы используете:

<input type="radio" name="myradio" id="diversity" value="value1">

Он будет доступен в $_POST['myradio'];

и т. д

Кроме того, вы можете захотеть использовать тернарный оператор

if ($row_EventInfo['diversity'] == '1') {
    echo ' checked="checked"';
}
else {$row_EventInfo['diversity'] = '';}

в

echo ($row_EventInfo['diversity'] == '1') ? ' checked="checked"':'';
0 голосов
/ 26 мая 2011

это в форме, верно?Тогда вы получите данные в ПОЧТЕ.Я бы не стал устанавливать значение 1, установить значение равным значению, которое вы хотите выбрать, например, затем в сообщении получить значение и использовать его для установки данных в БД.

Надеюсь, это поможет!

BR,

TJ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...