在codeigniter中的foreach循环中的表单中断

时间:2016-09-14 09:56:31

标签: php jquery mysql codeigniter foreach

考虑一下我的数据库中有30个问题。我正在使用Foreach来显示所有问题,因此它会在一个表单页面中显示所有问题 例如: -

    1 Question...
      answer(textarea)
    2 Question...
      answer(textarea)
    .
    .
    .
   30 Question...
      answer(textarea)

现在我想在第30页的结尾使用 NEXT 按钮显示每页10个问题。提交按钮。这样我就可以将post值插入数据库。

我该怎么做? 是否有任何jquery插件或我手动? 请建议我感谢您的回答

3 个答案:

答案 0 :(得分:1)

嗯,这里的想法是一次性将所有内容循环到页面中,尽管将div中的每10个问题包含在一个div中,确保添加样式:隐藏到除第一个之外的所有内容。

然后你可以添加下面的按钮来显示然后一个接一个地隐藏div。

这样的事情?

    <form class="" action="index.php" method="post">
            <?php $i = 0; ?>
            <?php foreach ($questions as $q): ?>
                <?php if (($i % 10) == 0): //Multipal of 10 ?>
                    <?php if ($i == 0): ?>
                        <div class="page">
                    <?php else: ?>
                        <div class="page" style="display:none;">
                    <?php endif; ?>

                <?php endif; ?>

                <label for="<?=$q?>">Label: <?=$q?></label><input type="text" name="<?=$q?>"><br/>

                <?php $i++; ?>
                <?php if (($i % 10) == 0): ?>
                    <?php if (count($questions) != $i): ?>
                        <button type="button" class="next-page">Next</button>
                    <?php else: ?>
                        <input type="submit" name="name" value="Submit">
                    <?php endif; ?>
                    </div>
                <?php else: ?>
                <?php endif; ?>

            <?php endforeach; ?>


    </form>
    <script type="text/javascript">
        $('.next-page').on('click', function(){
            var currentPage = $('.page');
            currentPage.first().hide();
            currentPage.first().next().show();
        });
    </script>

答案 1 :(得分:0)

您可以随意使用页码。

第1页 - &gt;你发送pagenum为1。 所以你按LIMIT (pagenum * 10) 10限制记录 - 这是LIMIT 10 10

第2页 - &gt;您只将页面数更改为2。 所以你按LIMIT (pagenum * 10) 10限制记录 - 这是LIMIT 20 10

这只是一个你只能用php实现的想法。可能还有其他一些解决方案。

答案 2 :(得分:0)

最佳解决方案请点击以下链接

Step-by-Step form