显示动态内容增长页面

时间:2015-10-01 05:23:47

标签: javascript php jquery html handlebars.js

假设我有一个用户页面,用户可以选择要学习的科目,也可以选择上传问题的按钮。

Basic View Of a Subject Page - 用户选择一个主题并获得一个像小提琴一样的视图

<div class="dataContainer">
 <div class="clsContextContainer">
    <a href="intro.php">Chapter1</a>
    <a href="basic.php">Chapter2</a>
    <a href="next.php">Chapter3</a>
    <a href="advanced.php">Chapter4</a>
    <a href="future.php">Chapter5</a>
 </div>
 <div class="clsContentContainer">
   <div class="q"> Q: Question goes here
    <div class="c">C: a) choice1 b) choice2</div>
    <div class="a">AnswerButton</div></div>

   <div class="q"> Q: Question goes here
    <div class="c">C: a) choice1 b) choice2</div>
   <div class="a"> AnswerButton</div>
       </div>
 </div>
</div>

我已经展示了一个我想要的简单页面。我怀疑的是如何设计此页面,以便自动添加其他问题。

解决方法1

用户上传单个问题或包含问题列表的文件。其中一位管理员批准[不是重复的问题,有效的问题],然后应将其添加到此主题页面。

我可以使用handlebars.js,我可以在这里维护一个模板,就像我在小提琴和上下文页面中显示的一样。一旦管理员批准,我就可以将新问题添加到可用上下文列表中。[MODIFYING A FILE IN THE SERVER]因此,当用户下次呈现页面时,也会添加新问题。

我的疑问 - 通过脚本修改serer中的文件是否安全?

溶液2

我可以在服务器questionsSubName中维护一个表。用户添加了新问题.Admin批准了它。所以将该问题添加到服务器中的表中。

渲染时,从数据库中读取问题,然后渲染它。

我怀疑:我觉得它不可行,因为查询db通常不是解决这种情况的最佳方法。

Solution3

我可以在小提琴[anchor tag]中显示文件列表。用户添加了一个新问题。管理员批准它。

(i)手动创建/修改与章节对应的文件。 create - 我希望每章限制50个问题。如果一章有50个问题,我需要创建另一个。所以创造在这里进入了画面。如果章节的问题少于50个,请对其进行修改。

ii)通过脚本完成。

但我不确定我是否以正确的方式做到了。请告诉我我可以做什么,或者在这种情况下是否有任何其他框架可以帮助我。

修改

阅读评论后,handlebars js with tables是最佳解决方案。

    <div class="q"> {{{Question}}}
    <div class="c">{{{Choices}}}
    <div class="a">AnswerButton</div>

这可能是我的模板页面。

上下文页面就像

   {
     Questions:[
        {Q: questionString, C: ChoiceString},
        next one
     ]
   }

我必须从服务器上阅读一组问题,例如:我有一个主题的5章和表中的220个问题。

表格式:

 Question Id Column

 Question Column

 Choice Column

 Answer Column

因此,如果用户点击chapter1,我将从表中读出前50个问题并创建一个上下文,然后进行渲染。如果用户点击chapter5,请阅读最后50个问题并制作上下文,然后进行渲染。

可行吗?

0 个答案:

没有答案