如何删除 codeigniter 中的重复值数组?
How to remove duplicate value array in codeigniter?
我想在我的应用程序中制作 PDF 打印报告,我使用 codeigniter。这是我的 table
stock
-----------------------------------------------------
id_stock code_brg nama_brg category_id_stock
-----------------------------------------------------
1 CODE 01 BEANS RAKYAT 1
2 CODE 02 BEANS BLEND HOT 1
3 CODE 03 BEANS BLEND ICE 1
kategori
-----------------------------------------------------
id code_kategori kategori_brg
-----------------------------------------------------
1 code01 BEANS
2 code02 SYRUP
3 code03 MILK
4 code04 TOOLS
这个我的控制器
public function print()
{
$this->load->library('dompdf_gen');
$stock = $this->Model_Stock;
$tgl_awal = $this->input->post('tgl_awal');
$tgl_akhir = $this->input->post('tgl_akhir');
$data["report"] = $stock->cetak($tgl_awal, $tgl_akhir);
$result = array(
'tgl_awal' => $tgl_awal,
'tgl_akhir' => $tgl_akhir
);
$arr = array_merge($data,$result);
$this->load->view('stock/report_all',$arr);
}
这个我的模型
public function cetak($tgl_awal, $tgl_akhir)
{
$this->db->select('*');
$this->db->from($this->_table);
$this->db->join('kategori_brg', 'kategori_brg.id = stock.category_id_stock');
$this->db->join('satuan_brg', 'satuan_brg.id = stock.satuan_id');
$this->db->where('tgl_entri >=',$tgl_awal);
$this->db->where('tgl_entri <=',$tgl_akhir);
$query = $this->db->get()->result_array();
return $query;
}
这个 MyView
<table class="table" style="width: 100%;">
<?php
$no= 1;
foreach($report as $key){
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
?>
</table>
我想这样打印my expectations This my result my result,我试过使用distinct,但是没用。
我该如何解决这个问题?
看看这是否有效。将您的视图更改为:
<table class="table" style="width: 100%;">
<?php
$no= 1;
//store categories in array
$kategori_brg_arr=array();
foreach($report as $key)
{
array_push($kategori_brg_arr,$key['kategori_brg']);
}
$kategori_brg_arr=array_unique($kategori_brg_arr);
//group categories
foreach($kategori_brg_arr as $kategori_brg){
foreach($report as $key){
if($key['kategori_brg']==$kategori_brg){
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
}
}
?>
</table>
您可以在您的类别字段上使用 ORDER BY
,以便将所有具有相同类别的数据分组在一起,然后在您的 foreach
中,您可以 push
每个类别 array
并根据需要显示数据,像这样 -
型号
public function cetak($tgl_awal, $tgl_akhir)
{
$this->db->select('*');
$this->db->from($this->_table);
$this->db->join('kategori_brg', 'kategori_brg.id = stock.category_id_stock');
$this->db->join('satuan_brg', 'satuan_brg.id = stock.satuan_id');
$this->db->where('tgl_entri >=',$tgl_awal);
$this->db->where('tgl_entri <=',$tgl_akhir);
$this->db->order_by("kategori_brg", "ASC"); // ORDER BY kategori_brg
$query = $this->db->get()->result_array();
return $query;
}
查看
<table class="table" style="width: 100%;">
<?php
$no = 1;
$category = array(); // initialize array which will contain the categories
foreach($report as $key){
if(!in_array($key['kategori_brg'], $category)){ // check if category exists in the array
$category[] = $key['kategori_brg']; // insert the value in the array and show it as a heading
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<?php
}
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
?>
</table>
希望对你有帮助。
我想在我的应用程序中制作 PDF 打印报告,我使用 codeigniter。这是我的 table
stock
-----------------------------------------------------
id_stock code_brg nama_brg category_id_stock
-----------------------------------------------------
1 CODE 01 BEANS RAKYAT 1
2 CODE 02 BEANS BLEND HOT 1
3 CODE 03 BEANS BLEND ICE 1
kategori
-----------------------------------------------------
id code_kategori kategori_brg
-----------------------------------------------------
1 code01 BEANS
2 code02 SYRUP
3 code03 MILK
4 code04 TOOLS
这个我的控制器
public function print()
{
$this->load->library('dompdf_gen');
$stock = $this->Model_Stock;
$tgl_awal = $this->input->post('tgl_awal');
$tgl_akhir = $this->input->post('tgl_akhir');
$data["report"] = $stock->cetak($tgl_awal, $tgl_akhir);
$result = array(
'tgl_awal' => $tgl_awal,
'tgl_akhir' => $tgl_akhir
);
$arr = array_merge($data,$result);
$this->load->view('stock/report_all',$arr);
}
这个我的模型
public function cetak($tgl_awal, $tgl_akhir)
{
$this->db->select('*');
$this->db->from($this->_table);
$this->db->join('kategori_brg', 'kategori_brg.id = stock.category_id_stock');
$this->db->join('satuan_brg', 'satuan_brg.id = stock.satuan_id');
$this->db->where('tgl_entri >=',$tgl_awal);
$this->db->where('tgl_entri <=',$tgl_akhir);
$query = $this->db->get()->result_array();
return $query;
}
这个 MyView
<table class="table" style="width: 100%;">
<?php
$no= 1;
foreach($report as $key){
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
?>
</table>
我想这样打印my expectations This my result my result,我试过使用distinct,但是没用。
我该如何解决这个问题?
看看这是否有效。将您的视图更改为:
<table class="table" style="width: 100%;">
<?php
$no= 1;
//store categories in array
$kategori_brg_arr=array();
foreach($report as $key)
{
array_push($kategori_brg_arr,$key['kategori_brg']);
}
$kategori_brg_arr=array_unique($kategori_brg_arr);
//group categories
foreach($kategori_brg_arr as $kategori_brg){
foreach($report as $key){
if($key['kategori_brg']==$kategori_brg){
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
}
}
?>
</table>
您可以在您的类别字段上使用 ORDER BY
,以便将所有具有相同类别的数据分组在一起,然后在您的 foreach
中,您可以 push
每个类别 array
并根据需要显示数据,像这样 -
型号
public function cetak($tgl_awal, $tgl_akhir)
{
$this->db->select('*');
$this->db->from($this->_table);
$this->db->join('kategori_brg', 'kategori_brg.id = stock.category_id_stock');
$this->db->join('satuan_brg', 'satuan_brg.id = stock.satuan_id');
$this->db->where('tgl_entri >=',$tgl_awal);
$this->db->where('tgl_entri <=',$tgl_akhir);
$this->db->order_by("kategori_brg", "ASC"); // ORDER BY kategori_brg
$query = $this->db->get()->result_array();
return $query;
}
查看
<table class="table" style="width: 100%;">
<?php
$no = 1;
$category = array(); // initialize array which will contain the categories
foreach($report as $key){
if(!in_array($key['kategori_brg'], $category)){ // check if category exists in the array
$category[] = $key['kategori_brg']; // insert the value in the array and show it as a heading
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $key['kategori_brg']?></td>
</tr>
<?php
}
?>
<tr>
<td class="td_table" style="text-align: center;"><?= $no++ .''?></td>
<td class="td_table" style="text-align: center;"><?= $key['code_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['nama_brg']?></td>
<td class="td_table" style="text-align: center;"><?= $key['satuan_pcs']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_awal']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_masuk']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_keluar']?></td>
<td class="td_table" style="text-align: center;"><?= $key['stock_sisa']?></td>
</tr>
<?php
}
?>
</table>
希望对你有帮助。