Codeigniter配置文件页面函数保持循环


Codeigniter profile page function keeps looping

我正在开发一个网站,我想在其中创建用户配置文件。我有一个页面,在那里我列出了一个表中的所有用户。我制作了一个按钮,链接到一个用户的个人资料页面。配置文件页面从数据库中获取正确的数据,但该页面会一次又一次地加载所有视图。

这是填写用户表的代码:

<table class="table table-hover">
    <thead>
        <tr>
            <th>Naam</th>
            <th>Voornaam</th>
            <th>Gebruikersnaam</th>
            <th>Geboortedatum</th>
            <th>Studienummer</th>
            <th>Aanmaakdatum</th>
        </tr>
    </thead>
    <tbody>
    <?php foreach ($records as $record){ ?>
        <tr>
            <td><?= $record->usr_naam; ?></td>
            <td><?= $record->usr_voorNaam; ?></td>
            <td><?= $record->usr_userNaam; ?></td>
            <td><?= $record->usr_geboorteDatum; ?></td>
            <td><?= $record->usr_studyNr; ?></td>
            <td><?= $record->usr_timeStamp; ?></td>
            <td>
                <a class="btn btn-default btn-circle btn-outline" href="<?php echo site_url('patient/id/'.$record->usr_id);?>"><i class="fa fa-arrow-right"></i></a> &nbsp;&nbsp;
                <button class="btn btn-default btn-circle btn-outline" type="button"><i class="fa fa-pencil"></i></button> &nbsp;&nbsp;
                <button class="btn btn-default btn-circle btn-outline" type="button"><i class="fa fa-bar-chart"></i></button>
            </td>
        </tr>
    <?php } ?>
    </tbody>
</table>

每一行都会生成一个按钮,其中包含指向用户配置文件页面的链接。例如:http://localhost/nemo-v2/patient/id/1

此链接指的是患者控制器中的id功能。这是id函数的代码

public function id(){
    $userid = $this->uri->segment(3);
    $this->load->model('User_model');
    $data['record'] = $this->User_model->getUser($userid);
    $this->load->view('templates/head');
    $this->load->view('templates/menu');
    $this->load->view('pages/patient', $data);
    $this->load->view('templates/footer');
}

从数据库中选择用户数据后,将调用视图以显示配置文件页面。这里的问题是,程序在id函数中不断循环,并不断将视图堆叠在一起。

https://i.stack.imgur.com/mkOho.jpg

这是患者视图的代码。现在我只使用var_dump()来显示数据库中的结果。剩下的都是带有一些伪数据的HTML。最终,这需要用数据库中的数据来替换。

<div class="wrapper wrapper-content">
    <div class="row">
        <div class="col-md-4">
            <div class="col-md-12">
                <div class="ibox float-e-margins">
                    <div class="ibox-title">
                        <h5>Profile detail</h5>
                        <div class="ibox-tools">
                            <a class="collapse-link">
                                <i class="fa fa-chevron-up"></i>
                            </a>
                            <a class="edit-link">
                                <i class="fa fa-pencil"></i>
                            </a>
                        </div>
                    </div>
                    <div class="ibox-content">
                        <h4><strong>Jef</strong></h4>
                        <p><i class="col-lg-1 fa fa-map-marker"></i> Genk 3600</p>
                        <p><i class="col-lg-1 fa fa-birthday-cake"></i> 06/02/1985</p>
                        <p><i class="col-lg-1 fa fa-envelope"></i> jef.jef@uhasselt.be</p>
                        <p><i class="col-lg-1 fa fa-phone"></i> 0473 23876546</p>
                        <h5>
                            About me
                        </h5>
                        <p>
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitat.
                        </p>
                        <div class="user-button">
                            <div class="row">
                                <div class="col-md-6">
                                    <a class="btn btn-default btn-sm btn-block" href="<?php echo site_url('statistics');?>"><i class="fa fa-bar-chart"></i> &nbsp;Statistics</a>
                                </div>
                                <div class="col-md-6">
                                    <a class="btn btn-default btn-sm btn-block" href="<?php echo site_url('alerts');?>"><i class="fa fa-bell"></i> &nbsp;Alerts</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-md-12">
                <div class="ibox float-e-margins">
                    <div class="ibox-title">
                        <h5>Devices</h5>
                        <div class="ibox-tools">
                            <a class="collapse-link">
                                <i class="fa fa-chevron-up"></i>
                            </a>
                            <a class="edit-link">
                                <i class="fa fa-plus"></i>
                            </a>
                        </div>
                    </div>
                    <div class="ibox-content">
                        <h5><i class="col-lg-1 fa fa-heartbeat"></i> Pulse</h5>
                        <h5><i class="col-lg-1 fa fa-heart"></i> Smart scale</h5>
                        <h5><i class="col-lg-1 fa fa-arrows-v"></i> <h5>Blood pressure monitor</h5>
                    </div>
                </div>
            </div>
            <div class="col-md-12">
                <div class="ibox float-e-margins">
                    <div class="ibox-title">
                        <h5>Alerts</h5>
                        <div class="ibox-tools">
                            <a class="collapse-link">
                                <i class="fa fa-chevron-up"></i>
                            </a>
                            <a class="edit-link">
                                <i class="fa fa-pencil"></i>
                            </a>
                        </div>
                    </div>
                    <div class="ibox-content">
                        <h5><i class="col-lg-1 fa fa-medkit"></i> High risk: 1</h5>
                        <h5><i class="col-lg-1 fa fa-warning"></i> Medium risk: 4</h5>
                        <h5><i class="col-lg-1 fa fa-check"></i> Normal: 12</h5>
                        <h5><i class="col-lg-1 fa fa-eye-slash"></i> Missed: 0</h5>
                    </div>
                </div>
            </div>
        </div>

        <div class="col-md-8">
            <div class="ibox float-e-margins">
                <div class="ibox-title">
                    <h5>Extra information</h5>
                    <div class="ibox-tools">
                        <a class="collapse-link">
                            <i class="fa fa-chevron-up"></i>
                        </a>
                    </div>
                </div>
                <div class="ibox-content">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu dui sed nulla iaculis rutrum a id tortor. Vestibulum feugiat bibendum ipsum, in egestas velit volutpat in. Mauris lacus quam, accumsan eu nulla ac, tincidunt tristique urna. Etiam molestie facilisis elit, ut molestie orci commodo semper. Suspendisse id leo nec ipsum lobortis maximus pretium in ipsum. Praesent vehicula, est eleifend tristique vestibulum, mauris ipsum molestie massa, eget lobortis quam lectus vitae odio. Suspendisse quis lacus at justo malesuada tincidunt. Quisque ut facilisis erat, eget aliquam ipsum. Maecenas fermentum augue mauris, sed commodo purus sodales nec. Nullam bibendum quam in elit faucibus, et tincidunt ex ultricies. Nam eu elementum ex, ac vehicula arcu.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu dui sed nulla iaculis rutrum a id tortor. Vestibulum feugiat bibendum ipsum, in egestas velit volutpat in. Mauris lacus quam, accumsan eu nulla ac, tincidunt tristique urna. Etiam molestie facilisis elit, ut molestie orci commodo semper. Suspendisse id leo nec ipsum lobortis maximus pretium in ipsum. Praesent vehicula, est eleifend tristique vestibulum, mauris ipsum molestie massa, eget lobortis quam lectus vitae odio. Suspendisse quis lacus at justo malesuada tincidunt. Quisque ut facilisis erat, eget aliquam ipsum. Maecenas fermentum augue mauris, sed commodo purus sodales nec. Nullam bibendum quam in elit faucibus, et tincidunt ex ultricies. Nam eu elementum ex, ac vehicula arcu.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu dui sed nulla iaculis rutrum a id tortor. Vestibulum feugiat bibendum ipsum, in egestas velit volutpat in. Mauris lacus quam, accumsan eu nulla ac, tincidunt tristique urna. Etiam molestie facilisis elit, ut molestie orci commodo semper. Suspendisse id leo nec ipsum lobortis maximus pretium in ipsum. Praesent vehicula, est eleifend tristique vestibulum, mauris ipsum molestie massa, eget lobortis quam lectus vitae odio. Suspendisse quis lacus at justo malesuada tincidunt. Quisque ut facilisis erat, eget aliquam ipsum. Maecenas fermentum augue mauris, sed commodo purus sodales nec. Nullam bibendum quam in elit faucibus, et tincidunt ex ultricies. Nam eu elementum ex, ac vehicula arcu.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu dui sed nulla iaculis rutrum a id tortor. Vestibulum feugiat bibendum ipsum, in egestas velit volutpat in. Mauris lacus quam, accumsan eu nulla ac, tincidunt tristique urna. Etiam molestie facilisis elit, ut molestie orci commodo semper. Suspendisse id leo nec ipsum lobortis maximus pretium in ipsum. Praesent vehicula, est eleifend tristique vestibulum, mauris ipsum molestie massa, eget lobortis quam lectus vitae odio. Suspendisse quis lacus at justo malesuada tincidunt. Quisque ut facilisis erat, eget aliquam ipsum. Maecenas fermentum augue mauris, sed commodo purus sodales nec. Nullam bibendum quam in elit faucibus, et tincidunt ex ultricies. Nam eu elementum ex, ac vehicula arcu.</p>
                </div>
            </div>
        </div>
        <?php var_dump($record); ?>
    </div>
</div>

模型中没有错误,因为从数据库中选择了正确的数据。我已经找了几天了,但我不知道问题出在哪里。我使用的是CodeIgniter3.0(候选版本3)。我已经在CodeIgniter 2.2.1中测试了我的代码,但得到了相同的结果。

提前谢谢。

问题是由页脚中的脚本引起的。

<script src="/inspinia_admin-v1.9.2/js/inspinia.js"></script>

脚本来自Inspinia(引导程序主题)。我会让Inspinia的人知道这个剧本出了问题。

我的意思并不是说Inspinia不是一个好的主题,相反,Inspinia是一个很棒的主题,有很多功能。

更新:我在脚本中进行了一些调试,得出的结论是这个函数导致了这个问题。

// Append config box / Only for demo purpose
$.get("skin-config.html", function (data) {
    $('body').append(data);
});

显然,这是一个只用于演示目的的函数,所以我只是评论了一下,一切都很好。