您好我正在网站上工作,我的数据库表中的学生名为'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日之前出生的学生提取数据?
答案 0 :(得分:0)
如果您的数据库是使用INTERVAL的MySQL或MariaDB,这是一件容易的事情:
$query = $this->db->query('
SELECT *
FROM jongeren
WHERE geboortedatum - CURDATE() - INTERVAL 18 YEAR
');
这假设您的列是DATETIME或TIMESTAMP数据类型。所以这里做了很多假设。