2016-09-14 144 views
1

只要考虑我在我的数据库中有30个问题。我做的foreach来显示所有的问题,所以它显示了所有的问题在一个表单页面 例子: -Formignal in foreach循环codeigniter

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

现在,我想在第30题的END每页显示10个问题与NEXT按钮将有提交按钮。这样我可以将后置值插入到数据库中。

我该如何做到这一点? 有没有任何jQuery插件或我手动? 请建议我感谢您的回答

+0

如下您可以尝试在解决问题,然后张贴代码吗? –

回答

0

您可以使用您的请求页码。

1页 - >您发送页次为1 所以你通过LIMIT (pagenum * 10) 10 限制纪录 - 这是LIMIT 10 10

第2页 - >您只更改页次为2 所以你限制记录由LIMIT (pagenum * 10) 10 - 这是LIMIT 20 10

这只是一个想法,你只能用php实现。可以有其他几种解决方案。

+0

是的,我们可以通过查询来实现这一点。但我的情况是不可能的 –

+0

在你的情况下,你得到的所有记录,并显示为每页10? – masterFly

+0

绝对是! –

1

那么,这里的想法是一次循环所有的页面,虽然每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> 
+0

您的代码正在工作。但只有0到10和10到20.它没有持续流量。 –

+0

我无法在此花费太多时间,只是为了帮助您指出正确的方向 – Snickers

+0

我感谢您的时间和解决方案 –