如何使用PHP将数字打印/回显到复选框

时间:2019-03-25 17:01:42

标签: php

我的数据库中有一个名为num_ticket的表,用于保存票证总数,例如20。

现在,我尝试将print / echo这样的数字形式的票证编号(如1, 2, 3, 4 .......更改为20,放入不同的复选框。例如check box 1check box 2check box 3check box 4 ........ checkbox 20

我已经尝试过此<?php print implode("\n", range(1, $num)); ?>

<?php
        if(isset($_GET['url']))
          $url = ($_GET['url']);
               $check = "SELECT * FROM raffels  WHERE  rid ='$url' ";
                             if ($result = mysqli_query($conn,$check))
                                 $totalres = mysqli_num_rows($result);       
                            if ($totalres ==0) {
                                 echo" <center><h1>Page Not Found</h1> May be the link was broken or the post has been deleted</p></center>";
                         //header("location: 404"); 
                           exit();
                            }

                              while($row = $result->fetch_assoc()) {

                                 $title = $row['title'];
                                 $price = number_format($row['amount']);
                                 $image = $row['image'];
                                 $num = $row['num_ticket'];


     $post.='<li class="seat col-xs-1 col-sm-1">
            <input type="checkbox" class="alterbutton" name="sport" 
                onchange="myFunction()" value="12" id="12" />
             <label for="12">'. implode("\n", range(1,  $num)) .'</label>    
             </li> ';

              }                       


     ?>

如何使每个数字打印在不同的复选框上?

1 个答案:

答案 0 :(得分:1)

您将需要使用循环来输出这些复选框/数字。将您的$post .=代码放入for循环中(由于您要输出从1开始的数字,因此请确保将循环的初始起始数字偏移为1而不是典型的0 )。

for ($i=1; $i<=$num; $i++)
{
    $post.='<li class="seat col-xs-1 col-sm-1">
        <input type="checkbox" class="alterbutton" name="sport" 
            onchange="myFunction()" value="' . $i . '" id="sport_checkbox_' . $i . '" />
        <label for="sport_checkbox_' . $i . '">' . $i . '</label>    
        </li> ';
}

我注意到您在某些属性中写了“ 12”,因此我将其更改为$i值。我还为id属性添加了“ sport_checkbox_”,以使其更加清晰。如果您要扩展页面范围,则ID的单个数字可能会引起头痛。

P.s。对于直接输入到查询中的内容(例如$_GET['url'])要非常小心。您应该通过prepared statement将任何用户提供的值传递给查询,以防止SQL注入。