当前位置: 首页 > 知识库问答 >
问题:

在一个div中显示查询的前5个结果,在另一个div中显示其余结果

花欣然
2023-03-14

我正在CodeIgniter上开发一个测验应用程序
随机从数据库中挑选25个问题并显示给用户。

以下是我的代码:

 <?php 
        $i = 1;            
        echo form_open('Menu/submit_ans', array('name' => 'quiz'));
        foreach ($quiz_array as $q){?>
        <center class="Qcounter">
        <div class="col-lg-12">

        <h3>Question No. <?php echo $i?> </h3>
        <br>
        <table>
        <tr>
        <td colspan="2"><?php echo $q->ques;?></td>
        <input hidden name="qid[]" type="text" value="<?php echo $q->qid;?>">
        <input hidden name="uid[]" type="text" value="<?php echo $user['id'];?>">
        </tr>
        <tr>
        <td><input type="radio" name="ans[<?php print $i; ?>]" value="1"></td>
        <td><?php echo $q->ans_1;?></td>
        </tr>
        <tr>
        <td><input type="radio" name="ans[<?php print $i; ?>]" value="2"></td>
        <td><?php echo $q->ans_2;?></td>
        </tr>
        <tr>
        <td><input type="radio" name="ans[<?php print $i; ?>]" value="3"></td>
        <td><?php echo $q->ans_3;?></td>
        </tr>
        <tr>
        <td><input type="radio" name="ans[<?php print $i; ?>]" value="4"></td>
        <td><?php echo $q->ans_4;?></td>
        </tr>
        </table>

       </div>
       </center>
        <?php 
            $i++;

        }

        ?>

        <button class="btn btn-success" type="submit">Submit!</button></a>
        <?php echo form_close();?>
        <button id="btn_next">Next</button>

我想在一个div上显示前10个结果。
当用户单击下一个按钮时,它会显示下一个10个结果。
(隐藏当前div并显示下一个)

我只想知道我如何打破结果,并限制每个分区10个问题。

共有1个答案

曾元忠
2023-03-14

基于HTML(从PHP循环创建)。

首先:这种超文本标记语言不是完全有效的......即使它可能工作。
现代浏览器“修补”这个。
或者也许你在示例的剪切粘贴上有点快...

无论如何,我添加了一个缺少的

<?php 
    $i = 1;

    foreach ($quiz_array as $q){ ?>
        <center class="Qcounter">
            <div class="col-lg-12">
                <h3>Question No. <?php echo $i?> </h3>
                <br>
                <table>
                    <tr><!-- added -->
                        <td colspan="2"><?php echo $q->ques;?></td>
                        <input hidden type="text" value="<?php echo $q->qid;?>">
                    </tr><!-- added -->
                    <tr>
                        <td><input type="radio" name="ans[<?php print $i; ?>]" value="1"></td>
                        <td><?php echo $q->ans_1;?></td>
                    </tr>
                    <tr>
                        <td><input type="radio" name="ans[<?php print $i; ?>]" value="2"></td>
                        <td><?php echo $q->ans_2;?></td>
                    </tr>
                    <tr>
                        <td><input type="radio" name="ans[<?php print $i; ?>]" value="3"></td>
                        <td><?php echo $q->ans_3;?></td>
                    </tr>
                    <tr>
                        <td><input type="radio" name="ans[<?php print $i; ?>]" value="4"></td>
                        <td><?php echo $q->ans_4;?></td>
                    </tr>
                </table>
            </div><!-- added -->
        </center><!-- added -->

        <?php 
        $i++;
    }
?>

所以现在这是一致的
为什么不使用

我向它添加了一个类:class=“Qcounter”,它将仅用作jQuery选择器。

该函数为给定数量的元素设置displayonload
然后为someNextBtn按钮id设置单击处理程序

// Define the amount of question to show.
var showNquestion = 5;

// onload...
$(".Qcounter").each(function(){

    // Question indexes 0 to showNquestion will show.
    if( $(this).index() < showNquestion ){
        $(this).css({"display":"block"});
    }else{
        $(this).css({"display":"none"});
    }
});

// On "Next" button click.
$("#someNextBtn").click(function(){

    var lastShown=0;

    // Find the last question index shown.
    $(".Qcounter").each(function(){
        if( $(this).css("display") == "block" ){
            lastShown = $(this).index();
        }
    });

    $(".Qcounter").each(function(){

        //Question indexes "last+1" to "last+showNquestion" will show.
        if( ($(this).index() > lastShown) && ($(this).index() < lastShown+showNquestion) ){
            $(this).css({"display":"block"});
        }else{
            $(this).css({"display":"none"});
        }
    });

    if( lastShown == $(".Qcounter").length ){
        alert("You answered all questions.");
    }
});

注意

 类似资料:
  • 我有一个php和SQL代码,用于使用将数据提取到HTML中。 代码相当通用,每个人都应该知道: 我试图使用,但它隐藏了所有其他结果,我需要让它们都可用,只是当我单击

  • 如果这很简单,请原谅,但我有一个for-each循环,用于搜索JSON数据以获得搜索结果。然后我有一些preg_match语句,它们将查看JSON中的一些标记,如果它们是匹配的,则在div中显示缩略图。目前所有这些都可以使用。但它目前在自己的Div中显示每个结果,如果有匹配,我只需要五个Div,其中包含多个图像。 我不太明白如何实现这一点,会是把结果放入数组,然后在div中显示结果的情况吗? 任何

  • 问题内容: 我正在尝试从sql数据库中的php中显示结果,MySQL语句是正确的,并且可以在phpMyAdmin中执行我想要的操作,但是由于某种原因,我的代码在网页中中断了 这是代码 这就是我得到的 通常,我需要由表ID限制从最小值到最大值的随机数 问题答案: 您需要从查询获得的结果集中的每一行中获取数据。您可以为此使用。 将代码更改为此:

  • 问题内容: 我的html文件中有两个div。我想隐藏第一个div并在html输入按钮事件上显示另一个div 。 这是我的代码, 但这不起作用。任何帮助将不胜感激。 谢谢。 问题答案: 1)在onclick内,您不必使用暗示的“ javascript:”。 2)您检查“显示:阻止”,我总是检查“显示:无”(因为显示也可以是“行内阻止”,等等。) 尝试这个:

  • 各位早上好,我正在创建一个产品销售系统,这个话题会有点长,因为我想好好解释一下。 正在用Vaadin+MySQL+springboot+Maven开发的系统 在主屏幕上,我们有一个网格,上面有“新建”、“更改”和“删除”按钮: 当点击new按钮时,将打开一个窗口,开始“销售”产品: 这里的问题是这样的,当我点击“+项”时会出现以下情况: 问题:创建了一个滚动条(在窗口的右边),保存、关闭和+项按钮

  • 问题内容: 第二行应从第一行减去…并在第二表中显示结果 第一张table 最初第二张表是空的 我在第二张table中到底需要什么如下 问题答案: Insert into Table2(stock_name,temple,quantity) SELECT a.stock_name, a.temple, SUM(Case when Type=’purchase’ then quantity else