首页 > 解决方案 > 如何在codeigniter中结合'foreach'和价值?

问题描述

我想使用 CodeIgniter 3 在我的网站中查看数据库中的数据。有两种方法可以在这个网站中查看我的数据。首先是没有循环,我使用了这段代码:

<?php $s=$sched_stud->row();?>
<table class="table table-sm table-bordered">
                <tbody>
                    <tr>
                        <th scope="row">Full Name</th>
                        <td><?php echo $s->name;?></td>
                    </tr>
                    <tr>
                        <th scope="row">Level Enrolled</th>
                        <td><?php echo $s->level;?></td>
                    </tr>
                </tbody>
            </table>

第二个是使用foreach,这是我的代码:

<tbody>
                        <?php
                        $a=1;
                        foreach ($sched_stud as $key) { ?>
                        <tr>
                            <th scope="row"><?php echo $a; $a++; ?>.</th>
                            <td>Tue, 8 Jan 2019</td>
                            <td>17.00 - 18.30</td>
                            <td><?php echo $key->room;?></td>
                            <td>Mrs. Adinda</td>
                            <td>Upcoming</td>
                        </tr>
                        <?php } ?>
                    </tbody>

但有错误说:

Undefined property: mysqli::$room

我怎样才能解决这个问题?

标签: phpcodeigniter-3

解决方案


在第一种方式中,您只会获得一条记录row()

所以在你的第二种循环方式中,你需要result()获取多条记录

                  <tbody>
                        <?php
                        $a=1;
                        foreach ($sched_stud->result() as $key) { ?>
                        <tr>
                            <th scope="row"><?php echo $a; $a++; ?>.</th>
                            <td>Tue, 8 Jan 2019</td>
                            <td>17.00 - 18.30</td>
                            <td><?php echo $key->room;?></td>
                            <td>Mrs. Adinda</td>
                            <td>Upcoming</td>
                        </tr>
                        <?php } ?>
                    </tbody>

推荐阅读