根据数据库内循环中保存的数据更改输入背景

Change background of input based on saved data in database inside loop

我有一个从 1100 的循环作为 input 的值。我想显示数据库中所有保存的数据,这将改变输入的背景。我使用 bootstrap 按钮 class 来改变背景的颜色。

在下文中,我只能显示最后一个或第一个 (ASC/DESC),但不能显示全部。在这里,我有 2 条记录(编号 1 和 3)。

    <?php
    for ($x = 1; $x <= 100; $x++) {
        $num = sprintf("%02d", $x);
        //kjghghj
        $recNo = $_GET['sub'];
        $qUsr = "SELECT * FROM pengerjaan_gratis WHERE kodeuser = '".$recNo."' LIMIT 100";
        $sUsr = $dbkdw->prepare($qUsr);
        $sUsr->execute();
        while ($rowUsr = $sUsr->fetch(PDO::FETCH_ASSOC)){
            $kiduser = $rowUsr['id'];
            $kodeuser = $rowUsr['kodeuser'];
            $nomor_soal = $rowUsr['nomorsoal'];
            $jawaban = $rowUsr['jawaban'];
            $primary = 'btn-primary';
            $default = 'btn-default';
            }
            ?>
            <!--tombol-->
            <input type="submit" id="btn_nomor" name="btn_nomor" style="margin-bottom:4px;" class="btn 
            <?php
            if ($nomor_soal == $x){
                echo $primary;
                }
            else{
                echo $default;
                }
            ?>
            " value="<?php echo $num; ?>"/>
            <?php 
            }
        ?>

抱歉,经过尝试终于找到答案了。查询时忘记加$x,如下:

$qUsr = "SELECT * FROM pengerjaan_gratis
WHERE kodeuser = '".$recNo."' AND nomorsoal = '".$x."' LIMIT 100";

这是完整的更正和屏幕截图,其中两行显示在 btn-primary(作为数据库中保存的数据)

<?php
            //kjghghj
            $recNo = $_GET['sub'];
            for ($x = 1; $x <= 100; $x++) {
                $num = sprintf("%02d", $x);
                //cari
                $qUsr = "SELECT * FROM pengerjaan_gratis 
WHERE kodeuser = '".$recNo."' AND nomorsoal = '".$x."' LIMIT 100";
                $sUsr = $dbkdw->prepare($qUsr);
                $sUsr->execute();
                while ($rowUsr = $sUsr->fetch(PDO::FETCH_ASSOC)){
                    $iduser = $rowUsr['id'];
                    $kodeuser = $rowUsr['kodeuser'];
                    $nomor_soal = $rowUsr['nomorsoal'];
                    $jawaban = $rowUsr['jawaban'];
                    $primary = 'btn-primary';
                    $default = 'btn-default';
                    }
                    
                    if ($nomor_soal == $x){
                        ?>
                        <input type="submit" id="btn_nomor" 
name="btn_nomor" style="margin-bottom:4px;" 
class="btn <?php echo $primary; ?>" 
    value="<?php echo $num; ?>"/>
                       <?php
                        }
                    else{
                        ?>
                        <input type="submit" id="btn_nomor" 
name="btn_nomor" style="margin-bottom:4px;" 
class="btn <?php echo $default; ?>" 
    value="<?php echo $num; ?>"/>
                        <?php
                        }
                    }
                ?>

已更新:
由于变量 $nomor_soal 查询 之外,它创建了 未定义的变量

我使用 empty 来避免错误,最后,它如我所愿地工作了。

                if (empty($nomor_soal)){
                    ?>
                    <input type="submit" id="btn_nomor" 
name="btn_nomor" style="margin-bottom:4px;width:42px;text-align:center;padding:6px 3px;" 
class="btn btn-default" value="<?php echo $num; ?>"/>
                    <?php
                    }
                else{
                    if ($nomor_soal == $x){
                        ?>
                        <input type="submit" id="btn_nomor" name="btn_nomor" 
style="margin-bottom:4px;width:42px;text-align:center;padding:6px 3px;" 
class="btn <?php echo $primary; ?>" value="<?php echo $num; ?>"/>
                       <?php
                        }
                    else{
                        ?>
                        <input type="submit" id="btn_nomor" name="btn_nomor" 
style="margin-bottom:4px;width:42px;text-align:center;padding:6px 3px;" 
class="btn <?php echo $default; ?>" value="<?php echo $num; ?>"/>
                        <?php
                        }
                    }