php - 如何从 dompdf 制作 pdf 报告,其数据来自使用 ajax 的选择选项的结果
问题描述
大家好,我有一个问题。如何使用 DOMPDF 制作 pdf 报告,其数据取自使用 AJAX 的选择选项的结果。我已经尝试过了,但是 pdf 报告数据显示了所有数据的结果,而不是根据我的意愿从选择选项的结果中显示的数据。
Laporan_kir.php (查看)
<section class="content-header">
<h1>
<small>KIR</small>
</h1>
<ol class="breadcrumb">
<li><a href=""><i class="fa fa-dashboard"></i></a></li>
<li class="active">kir</li>
</ol>
</section>
<!-- Content -->
<section class="content">
<div class="box">
<div class="box-header">
<center>
<h3 class="box-title">Laporan Kartu Inventaris Ruangan</h3>
</center>
</div>
<div class="col-md-2">
<form method="GET">
<div class="form-group <?= form_error('level') ? 'has-error': null ; ?>">
<label>Kode Ruangan</label>
<select id="kode_ruangan" name="kode_ruangan" class="form-control">
<option value="">- Show All -</option>
<?php foreach($kode->result() as $row){ ?>
<option value="<?= "$row->id_kd_barang;" ?>"><?= $row->kode_ruangan; ?></option>
<?php } ?>
</select>
<?= form_error('kode_ruangan'); ?>
</div>
</form>
</div>
<div class="col-md-10">
<div class="pull-right">
<div id="editor"></div>
<button id="btnPrint" class="btn btn-danger btn-flat"><i class="fa fa-print"></i> Print</button>
</a>
</div>
<div class="pull-right">
<a target="_blank" href="<?= site_url('export'); ?>" class="btn btn-success btn-flat">
<i class=" fa fa-file-excel-o"></i> Excel
</a>
</div>
</div>
<div id="printSource">
<table class="table table-bordered" id="data_kir">
<thead>
<tr>
<td>#</td>
<td>Kode Barang</td>
<td>Nama Barang</td>
<td>Jenis</td>
<td>Merek</td>
<td>Bahan</td>
<td>Kondisi</td>
<td>Umur</td>
<td>Tahun Perolehan</td>
<td>Sumber Dana</td>
<td>Harga</td>
<td>Jumlah</td>
<td>Keterangan</td>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</section>
<!-- <script src="http://jqueryfiledownload.apphb.com/Scripts/jquery.fileDownload.js"></script> -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
<script>
// Select Option
$(document).ready(function () {
data_view();
$("#kode_ruangan").change(function () {
data_view();
});
});
// Data View laporan_kir
function data_view() {
var kode_ruangan = $("#kode_ruangan").val();
$.ajax({
type: "GET",
url: "<?= base_url('Laporan/load_data?kode_ruangan=" + kode_ruangan + "') ?>",
data: "kode_ruangan =" + kode_ruangan,
success: function (data) {
$("#data_kir tbody").html(data);
console.log(data);
}
});
}
$("#btnPrint").click(function (){
data_view();
$("#kode_ruangan").change(function () {
print();
});
});
</script>
Laporan.php(控制器)
类 Laporan 扩展 CI_Controller {
public function index(){
$data['kode'] = $this->Laporan_m->view_kode();
$this->template->load('template','kir/laporan/laporan_kir', $data);
}
public function load_data(){
$kode_ruangan = $_GET["kode_ruangan"];
if ($kode_ruangan == 0) {
$data = $this->db->get('kir')->result();
}
else
{
$data = $this->db->get_where('kir', ['id_kd_barang'=> $kode_ruangan])->result();
}
if (!empty($data))
{
$no=1; foreach ($data as $row): ?>
<tr>
<td><?php echo $no++ ?></td>
<td><?php echo $row->kode_barang ?></td>
<td><?php echo $row->nama_barang ?></td>
<td><?php echo $row->jenis ?></td>
<td><?php echo $row->merek ?></td>
<td><?php echo $row->bahan ?></td>
<td><?php echo $row->kondisi ?></td>
<td><?php echo $row->umur ?></td>
<td><?php echo $row->tahun ?></td>
<td><?php echo $row->sumber_dana ?></td>
<td><?php echo $row->harga ?></td>
<td><?php echo $row->jumlah ?></td>
<td><?php echo $row->ket ?></td>
</tr>
<?php endforeach ?> <?php
}
else
{
?>
<tr><td align="center">Tidak ada data</td></tr>
<?php
}
}
public function print(){
$data['result'] = $this->db->get('kir')->result();
$html = $this->load->view('kir/laporan/print', $data);
// $this->fungsi->PdfGenerator($html,'laporan', 'A4','landscape');
}
}
Print.php (查看)
<table class="table table-bordered" id="data_kir">
<thead>
<tr>
<td>#</td>
<td>Kode Barang</td>
<td>Nama Barang</td>
<td>Jenis</td>
<td>Merek</td>
<td>Bahan</td>
<td>Kondisi</td>
<td>Umur</td>
<td>Tahun Perolehan</td>
<td>Sumber Dana</td>
<td>Harga</td>
<td>Jumlah</td>
<td>Keterangan</td>
</tr>
</thead>
<tbody>
<?php $no=1; foreach ($result as $row): ?>
<tr>
<td><?php echo $no++ ?></td>
<td><?php echo $row->kode_barang ?></td>
<td><?php echo $row->nama_barang ?></td>
<td><?php echo $row->jenis ?></td>
<td><?php echo $row->merek ?></td>
<td><?php echo $row->bahan ?></td>
<td><?php echo $row->kondisi ?></td>
<td><?php echo $row->umur ?></td>
<td><?php echo $row->tahun ?></td>
<td><?php echo $row->sumber_dana ?></td>
<td><?php echo $row->harga ?></td>
<td><?php echo $row->jumlah ?></td>
<td><?php echo $row->ket ?></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
解决方案
推荐阅读
- java - 启动 Tomcat 时“无法注入类 jenkins.slaves.IOHubProvider” - Tomcat 中的 Jenkins 安装
- java - 得到类 org.bouncycastle.asn1.DLApplicationSpecific 不能转换为类 org.bouncycastle.asn1.ASN1SequenceParser 使用 camel-as2 调用 as2-lib
- google-home - 如何知道用户何时取消链接谷歌助理操作?
- elasticsearch - Elasticsearch 获取与查询匹配的文档的兄弟文档
- swift - 在编译器期间,在 Swift 中为这个结构分配了多少内存
- python - 获取字典最小值的键,而该键在数组中
- xml - 如何使用 XSLT 在 XML 中查找不同的元素
- email - (Sendgrid v3 API)我的 API 命令有问题吗(我的电子邮件以垃圾邮件告终)?
- node.js - MUI - 如何查看 v4 的文档?
- json - 记住数组中的前一个 json 值