如何在 Codeigniter 中使用测验机制

2024-01-11

我正在 Codeigniter 中构建一个简单的测验应用程序,其中向用户展示一张图像,让他们猜测它是对还是错。类似于“热与否”。

有 25 个问题,全部回答是或否。我可以选择创建 25 个页面并在隐藏字段中保留以前的结果,但这似乎有点冗长和愚蠢。

我有一个视图文件,其中唯一改变的是图像。所以我想我可以将图像路径作为变量传递并动态更改它,但我无法在更抽象的级别上计算出如何记录每个答案的结果,然后在最后显示结果并插入数据库。

我遇到的问题是如何加载序列中的下一个图像并记录该结果。

P.s

图像将始终保持相同的顺序。它们是否是随机的并不重要,尽管那会很好!


您可以通过使用以下字段在数据库中插入问题来实现这一点:

ID - 问题的 ID。 图像 - 此问题的图像名称,例如“question1Image.jpg” 正确答案 - 此问题的正确答案,如果答案均为是/否,则可以使用 INT。 1 表示是,0 表示否。

现在您对数据库有疑问,在控制器上 e 可能会创建如下内容:

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Quizz extends CI_Controller {
    public function questions($idquestion){
        $this->load->model('questions_model');
        //fetch the questions from the database
        $questions = $this->questions_model->get_questions();
        //if it's a post we'll check if the answer is correct and pass the next question to the view
        if($this->input->post()){
            $answered_question = $this->questions_model->get_question($idquestion-1);
            $question = $this->questions_model->get_question($idquestion);

            if($answered_question['correct_answer']==$this->input->post('answer')){
                //if the user answered correctly do something here
            }
            $data['question'] = $question;
            //the id of the next question you'll use it for the next post
            $data['next_question'] = $idquestion+1;
            $this->load->view('your_view', $data);
        }
        //it's the first time the user uses this so we'll load the first answer
        else{
            $question = $this->questions_model->get_question(1);

            $data['question'] = $question;
            //the id of the next question you'll use it for the next post
            $data['next_question'] = 2;
            $this->load->view('your_view', $data);
        }
    }
}

在你看来,你可以有这样的东西:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Question page</title>
</head>
<body>
    <?php //we'll use the codeigniter form helper to generate manually the form
    echo form_open('quizz/questions/'.$next_question); ?>
    <!-- This will load the image dynamically-->
    <img src="<?=base_url('public/images/'.$question['image'])?>">

    <label><input type="radio" name="answer" value="1">YES</label>
    <label><input type="radio" name="answer" value="0">NO</label>
    <button type="submit" >Submit</button>
    <?=form_close();?>
</body>
</html>

该模型:

<?php
class questions_model extends CI_Model {

    public function __construct()
    {
        $this->load->database();
    }
    public function get_questions()
    {   
        return $this->db->get('questions_table')->result_array();
    }
    public function get_question($idquestion)
    {   
        $this->db->select('questions_table.*');
        $this->db->from('questions_table');
        $this->db->where('questions_table.id', $idquestion);
        return $this->db->get()->result_array();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Codeigniter 中使用测验机制 的相关文章

  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • PDO语法错误

    我在一个项目中使用 PDO 但提交时出现语法错误 这是我的代码
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • 在laravel中组合两个不同的无关系数据库表查询进行分页

    我的数据库中有两个不相关的表 我需要将它们合并 以便我可以将其放在我的搜索视图中 但我不知道是否可能 这是我的代码 这news and season表不相关 但它们具有相似的列 我试图将其放入一个对象中以便于分页 是否可以 search r
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 将查询字符串附加到任何形式的 URL

    我要求用户在文本框中输入 URL 并需要向其附加查询字符串 URL 的可能值如下 http www example com http www example com http www example com a http www examp
  • Zend Framework 中的动态默认模块

    有谁知道在 Zend Framework 中动态设置默认模块并且不会遇到命名空间问题的方法 例如 我想要做的是有一个允许加载的模块表 其中一个设置为默认模块 例如 我可能有 admin blog calendar 作为可以加载的模块 如果我
  • 检查字符串是否是哈希值

    我正在使用 SHA 512 来散列我的密码 当然还有盐 我认为我想要的不可能 但无论如何我们还是要问一下 有没有办法检查字符串是否已经是 SHA 512 或其他算法 哈希值 当用户登录时 我想检查他的密码 如果它仍然是纯文本 则应将其转换为
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • 带 url 参数的 Laravel post 路由

    我面临着幼虫路由的大墙 我似乎找不到解决方案 我在视图模板中有此表单
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • 如何在 CodeIgniter 中加载类/库?

    我有一个图书馆叫lib 其中包含一个名为nusoap php 我已经将lib放入文件夹中应用程序 库 当我尝试加载它时 出现以下错误 An Error Was Encountered Unable to load the requested
  • 在 PHP 中接受带有小数点和千位分隔符的国际数字

    对于用户可以输入能量值来计算相应费用的在线计算器 我需要 PHP 脚本来接受各种用户输入 200 万又四分之一焦耳 的值可以输入为 2000000 25 默认表示法 2 000 000 25 带千位分隔符 2000000 25 逗号作为小数
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 使用 ImageMagick (PHP) 将 2 个图像并排合并为 1 个图像

    我认为这是一件容易的事 我有 2 张图片 JPG 我希望它们合并成一张图片 其中 2 张图片并排 所以我有图片 A 和图片 B 我想要图片 AB 并排 两个图像具有相同的宽度和高度 在本例中 宽度 200px 高度 300px 但是第二个图
  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia

随机推荐

  • android listview半透明选择行的颜色

    我需要在列表视图中实现半透明的行选择 以及 按下 状态 如果我应用纯色 那么一切都会按预期进行 但如果我应用半透明颜色 44444444 那么我会看到默认选择颜色 在我的 2 3 android 上为橙色 在它的顶部是我的颜色 它使橙色稍微
  • 在 XML 中应如何解释带有 CDATA 和空格的文本节点?

    System Xml 解析功能给我带来了一些惊喜 我想知道以下内容如何should被解释 或者如果这是 取决于实现 版本1
  • NuGet - RID 和 TFM 示例

    我一直在 GitHub 上查看 NuGet3 的代码 并且在以下位置看到了几种文件夹模式https github com NuGet NuGet3 blob a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39
  • 如何在Python中用空格替换所有这些特殊字符?

    如何在 python 中用空格替换所有这些特殊字符 我有一份公司名称清单 例如 myfiles txt 我的公司 INC 老酒私人有限公司 大师头脑有限公司 顶点实验室有限公司 印度新公司 印美私人有限公司 这里 按照上面的例子 我需要文件
  • 如何从 Java 运行 cygwin?

    我想从 Java 开始 如何从 Java 程序启动 cygwin 首先 您必须将 bash exe 设置为环境变量 以便此行将启动 bash Runtime rt Runtime getRuntime execute bash
  • 使用 Firebase Auth 登录 iOS 应用是否满足“导出合规信息”加密要求

    在使用 App Store Connect 上传应用程序时 我看到过有关导出合规性信息加密问题的类似问题 但我仍在寻找问题的直接答案 我正在上传 iOS 应用程序 必须回答以下问题 出口合规信息 您的应用程序使用加密吗 即使您的应用程序仅使
  • Sharepoint 2013 计算字段作为超链接呈现为文本

    I have a column in Sharepoint 2013 and set the type to Calculated I have set the data return type to integer pic attache
  • 如何在中间件中使用“this”上下文

    我出于我的目的编写了自己的中间件作为模块 如下所示 myMiddleware js module exports fn1 function req res next console log fn1 next fn2 function req
  • 错误:无法加载 libphutil

    我们已经安装运行Phabricator在我们的一台服务器中 今天 我按照 中给出的标准步骤对其进行了升级 https secure phabricator com book phabricator article upgrading htt
  • 在 Linq EF 查询中使用 SQRT

    我需要使用 SQRT 函数作为 Linq EF 查询中 where 子句的一部分 我想我可以这样做 var qry context MyTable Where sqrt it field gt 1 但它返回一个错误 指出 sqrt 无法解析
  • 强制某些编译器生成的变量进入特定的 ELF 部分(使用 gcc)

    我将从最终的问题开始 在带有 gcc 的 C 中 是否有可能获得以下值 func 或同等地 FUNCTION 存储在除 rodata 或任何地方 mrodata 点 或其小节 完整解释 假设我有一个日志记录宏 define LOG fmt
  • Xcode 无法在选定的目标上运行

    今天早上我正在运行我的应用程序 现在当我尝试在 iPhone 5 1 模拟器上运行时突然出现以下错误 无法在选定的目的地上运行 目标不支持构建所选软件的体系结构 切换到支持该架构的目标以运行所选软件 我删除了方案 但仍然没有解决方案 我正在
  • 显式模板实例化的 gcc 问题?

    据我了解 专业化的声明或 typedef 应该导致模板类被实例化 但 gcc 似乎不会发生这种情况 例如 我有一个模板类 模板类Foo 我写的 class Foo
  • 调整图像大小而不损失任何质量[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在不影响图像质量的情况下调整图像
  • 在整个应用程序中设置 on_delete 的简单方法

    我一直在使用 WdPython 的论据并发现tons为了准备升级到 Django 2 0 我需要进行一些更改 python Wd manage py runserver 最主要的是on delete https docs djangopro
  • Firestore 上的条件 where 查询

    我尝试在这里实施解决方案 firestore 查询中的条件 where 子句 https stackoverflow com questions 48514932 conditional where clause in firestore
  • document.referrer 存在但始终为空

    我正在 iOS 8 上开发一个移动应用程序 document referrer 似乎总是空的 我尝试使用以下方法检查它是否存在 if referrer in document alert referrer document referrer
  • Azure Functions - Blob 流输出绑定

    我创建了一个带有 blob 存储触发器的 Azure 函数 我想处理一个文件 然后将文件转储到另一个 blob 存储容器 在最简单的情况下 我想它会是这样的 public static void Run Stream blob string
  • 使用 Sencha 添加视频

    我想使用 Sencha 在我的网站中添加 YouTube 视频 我使用以下代码 var pnl new Ext Panel layout type vbox pack center items xtype video url space m
  • 如何在 Codeigniter 中使用测验机制

    我正在 Codeigniter 中构建一个简单的测验应用程序 其中向用户展示一张图像 让他们猜测它是对还是错 类似于 热与否 有 25 个问题 全部回答是或否 我可以选择创建 25 个页面并在隐藏字段中保留以前的结果 但这似乎有点冗长和愚蠢