首页 > 解决方案 > 如何从 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>

标签: phpjquerycodeigniter

解决方案


推荐阅读