Codeigniter:比较两个日期,并将其显示在带有列表的表上



我想比较两个日期,并将它们显示在我的文章前面

差异日期示例。ArtOne(+2Hours(|2019年10月10日|

SQl

CREATE TABLE `mytable` (
`id` int(11) NOT NULL,
`PERSONNE_A_LIVRER` text NOT NULL,
`ETAT` text NOT NULL,
`DATE_TRANSPORT` text NOT NULL,
`DATE_LIVRER` text NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

日期交通=2019年10月1日11:38DATE_LIVRER=2019年10月2日11:38…

我只想在专栏中了解不同的hoours。这是我的型号,

public function select_all() {
$sql = "SELECT * FROM mytable";
$data = $this->db->query($sql);
return $data->result();
}

我的控制器的代码

public function listart() {
$data['dataPegawai'] = $this->M_pegawai->select_all();
$this->load->view('pegawai/list_data', $data);
}
function differenceInHours($startdate,$enddate) {
$starttimestamp = strtotime($startdate);
$endtimestamp = strtotime($enddate);
$difference = abs($endtimestamp - $starttimestamp)/3600;
return $difference;
}

我的视图html和php的代码

<?php
foreach ($dataPegawai as $albat) {
?>
<tr>
<td style="min-width:90px;">
<?php echo $albat->PERSONNE_A_LIVRER ; ?>
</td>
<td>
<?php echo $albat->N_LIVRAISON;?>
</td>
<td>
<?php echo $hours_difference = differenceInHours($albat->DATE_EXP,$albat->DATE_TRANSPORT);?>
</td>
<td>
<?php echo $albat->DESTINATAIRE;?>
</td>
<td>
<?php echo $albat->DIRECTION_A_LIVRER ;?>
</td>
<td>
<?php echo $albat->DESCRIPCION_ETAT;?>
</td>
<td class="text-center" style="min-width:90px;">
<button class="btn default konfirmasiHapus-articulo"> List it </button>
</td>
</tr>
<?php
}
?>

提前感谢

例如,如果要比较DATE_EXPDATE_TRANSPORT的值,可以在控制器上调用differenceInHours()函数,而不是在视图上调用,因为保持视图仅用于演示是一种很好的做法。

修改控制器如下:

public function listart() {
$data['dataPegawai'] = $this->M_pegawai->select_all();
foreach ($data['dataPegawai'] as $key => $value) {
$startdate = $value->DATE_EXP;
$enddate = $value->DATE_TRANSPORT;
$data['dataPegawai']->$key->hourDifference = $this->differenceInHours($startdate, $enddate);
}
$this->load->view('pegawai/list_data', $data);
}
function differenceInHours($startdate,$enddate) {
$starttimestamp = strtotime($startdate);
$endtimestamp = strtotime($enddate);
$difference = abs($endtimestamp - $starttimestamp)/3600;
return $difference;
}

这样的观点:

<?php
foreach ($dataPegawai as $albat) {
?>
<tr>
<td style="min-width:90px;">
<?php echo $albat->PERSONNE_A_LIVRER ; ?>
</td>
<td>
<?php echo $albat->N_LIVRAISON;?>
</td>
<td>
<?php echo $albat->hourDifference;?>
</td>
<td>
<?php echo $albat->DESTINATAIRE;?>
</td>
<td>
<?php echo $albat->DIRECTION_A_LIVRER ;?>
</td>
<td>
<?php echo $albat->DESCRIPCION_ETAT;?>
</td>
<td class="text-center" style="min-width:90px;">
<button class="btn default konfirmasiHapus-articulo"> List it </button>
</td>
</tr>
<?php
}
?>

现在我已经尝试过了,但它不起作用,它向我显示如下错误消息:

遇到PHP错误严重性:注意

消息:未定义的变量:hourDifference

我的控制器我编辑了

public function tampil() {
$data['dataPegawai'] = $this->M_pegawai->select_all();
foreach ($$data['dataPegawai'] as $item => $value) {
$D1 = $value->OBSERVATION;
$D2 = $value->DATE_TRANSPORT;
$data['dataPegawai']->$key->$hourDifference = $this->differenceInHours($startdate, $enddate);
}
$this->load->view('pegawai/list_data', $data);
}

然后我把它们称为我的观点如下:

<?php
foreach ($dataPegawai as $albatr) {
?>
<tr>
<td><?php echo $albatr->$hourDifference;?> </td><!-- -->
<td class="text-center" style="min-width:230px;">
<i class="glyphicon glyphicon-check-sign"></i> Check </button>
</td>
</tr>
<?php
}
?> 

任何帮助!

相关内容

  • 没有找到相关文章

最新更新