使用php动态禁用复选框

使用php动态禁用复选框,php,mysql,Php,Mysql,请帮忙。。我想禁用复选框,这样人们就不能使用同一个座位,但我不知道在哪里,我可以用什么声明来表达。。我试图寻找,但仍然没有找到答案。。我是php的新手。。我希望我能在这里找到解决办法。。谢谢您可以在数据库中设置一列,用于存储座位是否空闲或被占用的状态: <ul> <?php $q="SELECT * FROM `seat`"; $qe=mysql_query($q); while ($de=mysql_fetch_array($qe)) {

请帮忙。。我想禁用复选框,这样人们就不能使用同一个座位,但我不知道在哪里,我可以用什么声明来表达。。我试图寻找,但仍然没有找到答案。。我是php的新手。。我希望我能在这里找到解决办法。。谢谢

您可以在数据库中设置一列,用于存储座位是否空闲或被占用的状态:

<ul>    
<?php  
    $q="SELECT * FROM `seat`";
    $qe=mysql_query($q);
    while ($de=mysql_fetch_array($qe)) {
        $id_seat=$de['id_seat'];
        $row=$de['row'];
        $number=$de['number'];

        for ($i=1; $i <= $number ; $i++) { 
            echo "
                <li><input type=\"checkbox\" name=\"seat[]\" value=".$row[0].$i." id=".$row[0].$i."><label for=".$row[0].$i."></label></li>
            ";

        }
        echo "<br/>";
    }
?>
</ul>
此外,您还需要在最初的状态字段中添加“FREE”,并在分配给某人时使用“allocted”进行更新

如果座位分配给某人,代码输出如下:


  • HTML输入元素具有一个禁用的属性,您可以使用该属性。下面是一个你可能想做的例子

    我保留了您的mysql_*函数以及所有原始HTML格式。但请考虑使用mysqli或PDO

    <ul>    
    <?php  
        $q="SELECT * FROM `seat`";
        $qe=mysql_query($q);
        while ($de=mysql_fetch_array($qe)) {
            $id_seat=$de['id_seat'];
            $row=$de['row'];
            $number=$de['number'];
            $status = $de['status'];
            if($status=="ALLOTTED")
            {
                $disabledCode = 'disabled="disabled"';
            }
            else
            {
                $disabledCode = '';
            }
    
            for ($i=1; $i <= $number ; $i++) { 
                echo "
                    <li><input type=\"checkbox\" name=\"seat[]\" value=".$row[0].$i." id=".$row[0].$i." ".$disabledCode."><label for=".$row[0].$i."></label></li>
                ";
    
            }
            echo "<br/>";
        }
    ?>
    </ul>
    

    不要使用
    mysql.*
    函数。自v5.5版(2013年6月)起,它们就被弃用,自v7.0版(2015年12月)起被删除。改为将or函数与and一起使用。如果您计划根据之前是否有人已经选择了座位来锁定座位,则需要进行更多的处理。感谢您具体做了什么?
    @AlexHowansky yes iwanna可能在本项目之后更改为mysqli。。感谢you@ShaktiPhartiyal在我发布之前几秒钟发布了一个解决方案。如果你好奇的话,OP,我已经提供了相同的解决方案,但以不同的方式呈现。我的回答是在输出数据的过程中检查“座位满”,而Shakti在输出数据之前进行检查。两种方法都很好。@RobbieToyota非常感谢您的回答。。。我试试看it@nerdy当然,如果你再次遇到问题,请询问。也可以考虑投票/批准帮助你的答案,这样它也有助于社区。NoDy善意地考虑批准解决你的问题的答案,以便它帮助其他社区用户。
    <ul>    
    <?php  
        $q="SELECT * FROM `seat`";
        $qe=mysql_query($q);
        while ($de=mysql_fetch_array($qe)) {
            $id_seat=$de['id_seat'];
            $row=$de['row'];
            $number=$de['number'];
    
            for ($i=1; $i <= $number ; $i++) { 
                echo "<li><input type=\"checkbox\" name=\"seat[]\" value=".$row[0].$i." id=".$row[0].$i;
    
                if (STATEMENT_HERE) {
                    echo " disabled=disabled";
                }
    
                echo "><label for=".$row[0].$i."></label></li>";
    
            }
            echo "<br/>";
        }
    ?>
    </ul>