使用复选框作为mysql表中每条记录的输入

时间:2015-01-30 10:51:45

标签: php mysql html5

我正在尝试使用复选框作为输入,其中记录是从mysql表打印的。以下是我使用的代码: -

<body>
<form name='checkbox_text' method="post" action="submit_checkbox.php">
<select name="candidate_name" id="option2">     

<b><h3>Select the candidates :-</h3></b> 
<label class="q" for="qq1" </label>
<input type="hidden" name="qq1[]" value="null">
<?php
    mysql_connect("localhost", "root", "root1") or die (mysql_error ());

    mysql_select_db("my_database") or die(mysql_error());

    $strSQL = "SELECT Name FROM Candidate ORDER BY Name";

    $rs = mysql_query($strSQL);
    while($row = mysql_fetch_array($rs)) 
    {
    $man = $row['Name'];
    Print ("<option>"); 
    echo $man;
    Print ("</option>");
    }
    mysql_close();
    ?>
</select>
</form>
</body>

我能够打印所有表格内容,但我需要在每个名称前面有一个复选框,用户应选择几个名称并在submit_checkbox.php中传递这些值

2 个答案:

答案 0 :(得分:1)

尝试Multiple选择

<h3>Select the candidates :-</h3>
<select name="candidate_name[]" id="option2" multiple>     
<?php
    mysql_connect("localhost", "root", "root1") or die (mysql_error ());

    mysql_select_db("my_database") or die(mysql_error());

    $strSQL = "SELECT Name FROM Candidate ORDER BY Name";

    $rs = mysql_query($strSQL);
    while($row = mysql_fetch_array($rs)) 
    {
    $man = $row['Name'];
    Print ("<option>"); 
    echo $man;
    Print ("</option>");
    }
    mysql_close();
    ?>
</select>

答案 1 :(得分:1)

也许是这样的?

while($row = mysql_fetch_array($rs)) {
    $man = $row['Name'];
    echo '<input type="checkbox" value="'.$man.'" name="checkbox[]" />'; 
    echo $man;
}

如果在提交表单后需要多个值,则必须在name属性中使用[]。发布表单后,您将获得一个包含所有选定名称的数组。