根据出生日期从表中获取数据

时间:2018-03-27 14:47:38

标签: php database codeigniter fetch codeigniter-3

您好我正在网站上工作,我的数据库表中的学生名为'jongeren',这意味着学生。 我要做的是为18岁或以上的学生列一份清单。在表格jongeren我有一个列:'geboortedatum',这意味着出生日期。所以我只想在2000年3月27日之前出生的观点中回应所有学生,但我不知道该怎么做..

现在我只是回应所有这样的学生:

模型:

 public function fetch_data()
    {
        $query = $this->db->get('jongeren');
        //Haal alle gegevens uit jongeren tabel en sla op in $query variabele
        return $query;
    }

控制器:

public function index()
        {
            $this->load->model('Main_model');
            $data['fetch_data'] = $this->Main_model->fetch_data();
            $this->load->view('ingeschreven_jongeren', $data);
        }

视图:

<div class="table-responsive">
            <table class="table table-bordered">
                <tr>
                    <th>ID</th>
                    <th>Voornaam</th>
                    <th>Achternaam</th>
                    <th>Email adres</th>
                    <th>Woonplaats</th>
                    <th>Postcode</th>
                    <th>Straat</th>
                    <th>Huisnummer</th>
                    <th>Geboortedatum</th>
                    <th>Inschrijfdatum</th>
                </tr>
                <?php
                if($fetch_data->num_rows() > 0)
                {
                    foreach($fetch_data->result() as $row)
                    {
                ?>
                 <tr>
                    <td><?php echo $row->jongere_id; ?></td>
                    <td><?php echo $row->voornaam; ?></td>
                    <td><?php echo $row->achternaam; ?></td>
                    <td><?php echo $row->email; ?></td>
                    <td><?php echo $row->woonplaats; ?></td>
                    <td><?php echo $row->postcode; ?></td>
                    <td><?php echo $row->straat; ?></td>
                    <td><?php echo $row->huisnummer; ?></td>
                    <td><?php echo $row->geboortedatum; ?></td>
                    <td><?php echo $row->inschrijfdatum; ?></td>
                 </tr>
                <?php
                    }
                }
                else
                {
                ?>
                    <tr>
                        <!--Als er geen data in jongeren tabel zit echo dan dit bericht--> 
                        <td colspan="3"> Geen data gevonden </td>
                    </tr>
                <?php
                }
                ?>
            </table>

所以是的,这是我的代码,显示所有的学生。我可能应该在我的模型函数中改变一些东西,以便它只为2000年3月27日之前出生的学生提取数据?

1 个答案:

答案 0 :(得分:0)

如果您的数据库是使用INTERVAL的MySQL或MariaDB,这是一件容易的事情:

$query = $this->db->query('
    SELECT * 
    FROM jongeren 
    WHERE geboortedatum - CURDATE() - INTERVAL 18 YEAR
');

这假设您的列是DATETIME或TIMESTAMP数据类型。所以这里做了很多假设。