从mysql数据库在php中设置多个复选框

从mysql数据库在php中设置多个复选框,php,mysql,checkbox,Php,Mysql,Checkbox,我正在从mysql填充一个表单。代码是 task.php <div data-role="content"> <h2> Please select cars </h2> <form method="post" action="cars.php"> <?php $carq = "select * from cars"; $executeca

我正在从mysql填充一个表单。代码是

task.php

<div data-role="content">
               <h2> Please select cars </h2>
<form method="post" action="cars.php">
            <?php 
            $carq = "select * from cars";
            $executecars = mysql_query($carq);
            while($row=mysql_fetch_assoc($executecars)){
                $cname = $row['name'];  
                ?>

               <label for="<?php echo $cname; ?>"><?php echo $cname; ?></label>
               <input type="checkbox" name="car" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>

            <?php }     

            ?>
           <input type="submit" name="submitcars" id="submitcars" value="View Details"/>
           </form>
         </div>
task.php
请选择汽车

生成汽车属性数组::

<input type="checkbox" name="car[]" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>
试试这个

<form method="post" action="cars.php">
<?php 
            $carq = "select * from cars";
            $executecars = mysql_query($carq);
            while($row=mysql_fetch_assoc($executecars)){
                $cname = $row['name'];  
                ?>

               <label for="<?php echo $cname; ?>"><?php echo $cname; ?></label>
               <input type="checkbox" name="car[]" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>

            <?php }     

            ?>


首先,让我先说明一下,您不应该使用mysql函数。它们被贬值,不再被推荐

在task.php上,开始表单标记被打印在循环中。其次,您可能应该使用[]来使用一组复选框

     <div data-role="content">
        <h2> Please select cars </h2>
        <form method="post" action="cars.php">
        <?php 
        $carq = "select * from cars";
        $executecars = mysql_query($carq);
        while($row=mysql_fetch_assoc($executecars)){
            $cname = $row['name'];  
            ?>

           <label for="<?php echo $cname; ?>"><?php echo $cname; ?></label>
           <input type="checkbox" name="cars[]" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>

        <?php }  ?>
       <input type="submit" name="submitcars" id="submitcars" value="View Details"/>
       </form>
    </div>

请选择汽车

表单标记应位于while循环之外
<form method="post" action="cars.php">
<?php 
            $carq = "select * from cars";
            $executecars = mysql_query($carq);
            while($row=mysql_fetch_assoc($executecars)){
                $cname = $row['name'];  
                ?>

               <label for="<?php echo $cname; ?>"><?php echo $cname; ?></label>
               <input type="checkbox" name="car[]" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>

            <?php }     

            ?>
     <div data-role="content">
        <h2> Please select cars </h2>
        <form method="post" action="cars.php">
        <?php 
        $carq = "select * from cars";
        $executecars = mysql_query($carq);
        while($row=mysql_fetch_assoc($executecars)){
            $cname = $row['name'];  
            ?>

           <label for="<?php echo $cname; ?>"><?php echo $cname; ?></label>
           <input type="checkbox" name="cars[]" id="<?php echo $cname; ?>" value="<?php echo $cname; ?>"/>

        <?php }  ?>
       <input type="submit" name="submitcars" id="submitcars" value="View Details"/>
       </form>
    </div>
<div data-role="content">
    <?php 
        if(isset($_POST['submitcars'])){

            if(isset($_POST['cars'] && count($_POST['cars']) > 0){

                 foreach($_POST['cars'] as $key => $car){

                     echo $car . '<br /'>;

                 }                    

            }
            else{
                echo 'No cars found!';
            }
        }
    ?>
</div>