Как посчитать количество отмеченных флажков с разными атрибутами «Имя»? - PullRequest
0 голосов
/ 19 июня 2011

У меня есть fieldset с несколькими флажками для вставки MySQL из формы.

<fieldset id="my_checkboxes"> 

        <legend>My Checkboxes (Select at least 2)</legend> 

        <label for="checkbox1"> 
            <input type="checkbox" id="checkbox1" value="yes" name="the_checkbox" /> 
            CheckBox #1
        </label> 

        <label for="checkbox2"> 
            <input type="checkbox" id="checkbox2" value="yes" name="the_checkbox2" /> 
            CheckBox #2
        </label> 

    </fieldset> 

Мне нужно, чтобы каждый флажок имел уникальный атрибут NAME, потому что каждый флажок вставляет данные в свой собственный столбец в базе данных. (В противном случае я бы просто использовал the_checkbox[] в качестве имени для каждого).

Моя проблема в том, что мне нужно, чтобы пользователь установил как минимум 2 флажка, чтобы отправить форму. Поскольку у меня есть отдельные имена для каждого, я больше не могу использовать следующий код, так как он считается по имени:

$checkboxcount = count($_POST['the_checkbox']);
if($checkboxcount < 1)
{
    $errors[] = $checkboxcount;
}

МОЯ инструкция SQL выглядит так:

$sql = "INSERT INTO $db_table(the_checkbox,the_checkbox2) values 
(
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox']))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox2']))."'
)";

Что бы вы посоветовали мне: либо подсчитать флажки, даже если у них отдельные имена, либо у Б. оставить то же имя, но каким-то образом вставить данные в MySQL как отдельные имена столбцов?

1 Ответ

2 голосов
/ 19 июня 2011

Если вы предпочитаете хранить разные имена, сделайте что-то вроде этого:

$chkbox_count = 0;
if (isset($_POST['the_checkbox']) && $_POST['the_checkbox'] == "yes") $chkbox_count++;
if (isset($_POST['the_checkbox2']) && $_POST['the_checkbox'] == "yes") $chkbox_count++;
// etc...

Я бы предпочел использовать одно и то же имя для связанной группы флажков, хотя и с разными значениями, но то, как вы передаёте их непосредственно в строку SQL, немного упрощает обработку вашего метода с другими именами.

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