从选择选项到多个复选框

时间:2016-05-29 09:31:06

标签: php mysql database checkbox

所以,我有这个代码,你可以选择一个特定的音乐子类型。现在你只能选择一个子流派;我该如何编码,以便您可以选择多个可以插入数据库的子类型(可能是通过复选框)?

    $day = $_POST["day"];
    $month = $_POST["month"];       
    $year = $_POST["year"];     
    $main = $_POST["main"];     

            $ne = "SELECT * FROM genre WHERE genre='0' AND main='$main'";
            $ne_query_run = mysql_query($ne);
    ?>
    <?php
            echo '<form action="site.php?koncert&fire" method="POST">';
            echo '<input type="text" name="day" class="hide" value="'.$day.'"/>';
            echo '<input type="text" name="month" class="hide" value="'.$month.'"/>';
            echo '<input type="text" name="year" class="hide" value="'.$year.'"/>';                                     echo '<input type="text" name="main" class="hide" value="'.$main.'"/>';
            echo '<select name="sub">';
            while($neo = mysql_fetch_assoc($ne_query_run)){

            $sub = $neo['sub'];

            echo '<option value="'.$sub.'">'.$sub.'</option';

            echo'</select><br /><br />';
            }
            echo '<input type="submit" name="submit"/>';
            echo '</form>';     

2 个答案:

答案 0 :(得分:1)

如果您想使用复选框,可以交换

        echo '<select name="sub">';
        while($neo = mysql_fetch_assoc($ne_query_run)){

        $sub = $neo['sub'];

        echo '<option value="'.$sub.'">'.$sub.'</option';

        echo'</select><br /><br />';
        }

        while($neo = mysql_fetch_assoc($ne_query_run)){
           $sub = $neo['sub'];
           echo '<input type="checkbox" name="'.$sub.'" value="true">'.$sub.'</input>';
        }

假设您有一个名为MySub的子组件,稍后您可以检查$_POST['MySub']是否选择了此子组件。

如果你的潜艇没有唯一的名字,但是你想要使用该类型的id,我建议使用

        while($neo = mysql_fetch_assoc($ne_query_run)){
           $sub = $neo['sub'];
           $id= $neo['id'];
           echo '<input type="checkbox" name="sub['.$id.']" value="true">'.$sub.'</input>';
        }

在回发后,$_POST['sub']将是一个数组(请参阅print_r($_POST['sub'])),其中ID是密钥。如果选中了复选框,数组的值将为"true"(字符串 - 不是布尔值!)。

答案 1 :(得分:0)

使用<select multiple>

   <select multiple>
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option>
      <option value="audi">Audi</option>
    </select>


     echo '<select name="sub" multiple>';
            while($neo = mysql_fetch_assoc($ne_query_run)){

            $sub = $neo['sub'];

            echo '<option value="'.$sub.'">'.$sub.'</option';

            echo'</select><br /><br />';
      }