为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法删除传输到另一个选项卡的数据?避免同一页面重复?PHP 代码点火器

有没有办法删除传输到另一个选项卡的数据?避免同一页面重复?PHP 代码点火器

PHP
拉丁的传说 2023-07-01 10:13:09
我正在创建一个测验应用程序,所以概念是当测验提交并成功评分时,它将移至我已成功完成的第一个选项卡中,但问题是第二个选项卡,即我的测验名称已回答仍然可见,如何将其删除或在回答考试后使其消失。到目前为止,我已经使用它来删除,但问题是在我回答活动后,只有第一个索引从第二个选项卡中删除。第一个选项卡 - 这是考试的结果<?php foreach($results as $result): ?>    <?php      $res = $result['activity'];  ?>        <h4><?php echo $result['activity']; ?></h4><?php endforeach; ?>这是第二个选项卡,显示所有未回答的考试<?php foreach($posts as $post): ?>    <?php        $pos = $post['activity'];  ?>    <?php if($res != $post): ?>    //So by comparing it if it is compared then the name must be removed                                <a href="<?php echo base_url() ?>activity/start/<?php echo $post['id']; ?>/<?php echo $id; ?>">             <?php echo $post['activity']; ?>         </a>                                                                                                        <?php endif; ?>    <?php endforeach; ?>    ?>查看所有已发布考试的模型public function class_posts($id){    $this->db->select('*');     $this->db->from('posts');    $this->db->where('posts.teacher_id', $id);    $query = $this->db->get();    return $result = $query->result_array();}考试结果模型以及考试后查看。public function class_groups($id){    $this->db->select('*');    $this->db->from('posts');    $this->db->join('results', 'results.post_id  = posts.id');    $this->db->where('class_id', $id);    $this->db->where('student_id', $this->session->userdata('user_id'));    $this->db->group_by('posts.activity');    $query = $this->db->get();    return $result = $query->result_array();}var_dump($post)
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

在第一个选项卡代码中循环遍历 $results 时,您退出循环并为 $res 分配一个值,该值在第二个选项卡代码中不会更改。这就是为什么第二个选项卡中只排除一个索引的原因。要解决此问题,请将 $post 与 $results 中存储的所有值进行比较。


如果您的 $results 数组包含所有已回答的测验,您可以在循环 $posts 时使用 in_array 检查 $results 是否包含 $post 的值。这是示例代码:


if (!in_array($post, $results)) { //search in $results for $post

   // Show the Quiz since it has not been answered

}

我建议创建一个新数组,在第一个选项卡的循环中保存 $res 的每个新值,并使用上面相同的逻辑。


第一个选项卡的新代码


<?php $newArray = array();

      foreach($results as $result):

      $res = $result['activity'];

      array_push($newArray, $res) ?>

      <h4><?php echo $result['activity']; ?></h4>

<?php endforeach; ?>

第二个选项卡的新代码


<?php foreach($posts as $post): 

      $pos = $post['activity']; 

      if (!in_array($pos, $newArray)): ?>

      <a href="<?php echo base_url();?>activity/start/<?php echo $post['id'];?>/<?php echo $id;?>"> 

      <?php echo $post['activity']; ?> 

      </a>

      <?php endif; ?>

<?php endforeach; ?>


查看完整回答
反对 回复 2023-07-01
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号