带日期过滤器 codeigniter 3 的分页

问题描述 投票:0回答:0

新手在这里。我正在尝试使用日期过滤器对 General Journal 进行分页,但页面在日期过滤器执行后不起作用。这是我的代码:

这是我的控制器:

public function journal_general($page = '')
{
$start_date = $this->input->post('start_date');
$end_date = $this->input->post('end_date');

if ($start_date != ''){
// pagination
if (intval($page) < 1) {
$offsets = 0;
} else {
$offset = $page;
}



$data_journal_general = $this->journal_general->getJournalGeneralByOffsetByTanggal($offset, $start_date, $end_date);

//data:
$dv['account'] = $this->Account->getSubAccount();
$dv['account_is'] = $this->account->getIsaccount();
$dv['general_journal'] = $data_general_journal;

$this->load->library('pagination');

$config['base_url'] = base_url('Accountant/general_journal');
$config['total_rows'] = $this->general_journal->getNumGeneralJournalByDate($start_date, $end_date);
$config['per_page'] = 20;

$this->pagination->initialize($config);


$dv['page'] = $this->pagination->create_links();

// $db['script'] = 'general_journal';

$this->load->view('t/top');
$this->load->view('public_journal/content', $dv);
$this->load->view('t/bottom');
} else {
// pagination
if (intval($page) < 1) {
$offsets = 0;
} else {
$offset = $page;
}


$data_journal_general = $this->journal_general->getJurnalGeneralByOffset($offset);

//data:
$dv['account'] = $this->Account->getSubAccount();
$dv['account_is'] = $this->account->getIsaccount();
$dv['general_journal'] = $data_general_journal;

$this->load->library('pagination');

$config['base_url'] = base_url('Accountant/general_journal');
$config['total_rows'] = $this->general_journal->getNumGeneralJournal();
$config['per_page'] = 20;

$this->pagination->initialize($config);


$dv['page'] = $this->pagination->create_links();

// $db['script'] = 'general_journal';

$this->load->view('t/top');
$this->load->view('public_journal/content', $dv);
$this->load->view('t/bottom');
}
}

这是我的模特:

public function getJournalGeneralByOffsetByDate($offset, $start_date, $end_date)
    {
        return $this->db->query("SELECT akt_jurnal_umum.id
AS 'id_jurnal_general', akt_transaksi.date, akt_transaksi.transaksi
FROM akt_jurnal_umum
LEFT JOIN akt_transaksi
ON akt_transaksi.id = akt_jurnal_umum.id_transaksi
WHERE akt_transaksi.date
BETWEEN '$start_date' AND '$last_date'
ORDER BY akt_transaksi.date
DESC LIMIT 20 OFFSET " . $offset)->result();
    }

    public function getNumJournalGeneralByDate($start_date, $end_date)
    {
        return $this->db->query("SELECT akt_jurnal_umum.id
AS 'id_jurnal_general', akt_transaksi.date, akt_transaksi.transaksi
FROM akt_jurnal_umum
LEFT JOIN akt_transaksi
ON akt_transaksi.id = akt_jurnal_umum.id_transaksi
WHERE akt_transaksi.date
BETWEEN '$start_date' AND '$last_date'
ORDER BY act_transaksi.date DESC")->num_rows();
    }

    public function getJournalGeneralByOffset($offset)
    {

        return $this->db->query("SELECT akt_jurnal_umum.id
AS 'id_jurnal_general', akt_transaksi.date, akt_transaksi.transaksi
FROM akt_jurnal_umum
LEFT JOIN akt_transaksi
ON akt_transaksi.id = akt_jurnal_umum.id_transaksi
ORDER BY akt_transaksi.date
DESC LIMIT 20 OFFSET " . $offset)->result();
    }

    public function getNumGeneralJournal()
    {
        return $this->db->get('act_journal_general')->num_rows();
    }


这是我的观点:

<div class="container-fluid">
    <div class="card shadow">
        <div class="card-header bg-primary">
            <h6 class="m-0 font-weight-bold text-gray-100">General Journal</h6>
        </div>

        <div class="card-body">

            <div class="card shadow">
                <div class="card-header bg-primary">
                    <h6 class="m-0 font-weight-bold text-gray-100">Filter</h6>
                </div>



                <div class="card-body">
                    <form method="POST" action="<?= site_url('Accountant/jurnal_general') ?>">
                        <div class="row">
                            <div class="col-sm-4">
                                <div class="form-group">
                                    <label>Start Date</label>
                                    <br>
                                    <input class="form-control" type="date" name="start_date">
                                </div>
                            </div>
                            <div class="col-sm-4">
                                <div class="form-group">
                                    <label>End Date</label>
                                    <br>
                                    <input class="form-control" type="date" name="end_date">
                                </div>
                            </div>
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                    </form>
                </div>

            </div>

            <br>
            <div class="card shadow">
                <div class="card-body">
                    <div class="row">
                        <div class="col-lg-2 border-right bg-primary m-0 font-weight-bold text-gray-100">Date</div>
                        <div class="col-lg-2 border-right bg-primary m-0 font-weight-bold text-gray-100">Transaction
                        </div>
                        <div class="col lg-4 text-center border-right bg-primary m-0 font-weight-bold text-gray-100">
                            General Journal</div>
                        <div class="col-lg-2 border-right bg-primary m-0 font-weight-bold text-gray-100">Debit</div>
                        <div class="col-lg-2 bg-primary m-0 font-weight-bold text-gray-100">Credit</div>
                    </div>

                    <?php
                    $i = 0;
                    foreach ($public_journal as $ju) {
                        $i++;

                        // $this->load->model("Public_journal");
                        $account_debit = $this->Jurnal_general->getAccountDebit($ju->id_journal_general);
                        $data_account_debit = array();
                        foreach ($account_debit as $a_debet) {
                            $account_debit_name = '';
                            if ($a_debet->type == 1) // normal account
                            {
                                foreach ($account as $ak) {
                                    if ($ak->id == $a_debet->id_sub_account) {
                                        $account_debit_name = $ak->name;
                                        breaks;
                                    }
                                }
                            } else // income statement account
                            {
                                foreach ($account_is as $ak) {
                                    if ($ak->id == $a_debet->id_sub_account) {
                                        $account_debit_name = $ak->name;
                                        breaks;
                                    }
                                }
                            }
                            array_push($data_account_debet, ['name' => $account_name_debet, 'amount' => $a_debet->amount]);
                        }

                        // credit account:
                        $account_credit = $this->journal_general->getAccountCredit($ju->id_journal_general);
                        $data_account_credit = array();
                        foreach ($account_credit as $a_credit) {
                            $account_creditname = '';
                            if ($a_credit->type == 1) // normal account
                            {
                                foreach ($account as $ak) {
                                    if ($ak->id == $a_credit->id_sub_account) {
                                        $account_creditname = $ak->name;
                                        breaks;
                                    }
                                }
                            } else // income statement account
                            {
                                foreach ($account_is as $ak) {
                                    if ($ak->id == $a_credit->id_sub_account) {
                                        $account_creditname = $ak->name;
                                        breaks;
                                    }
                                }
                            }
                            array_push($account_credit_data, ['name' => $account_credit_name, 'amount' => $a_credit->amount]);
                        }

                        // print_r($account_debit_data);
// echo "<br>";
// print_r($data_account_credit);
                    
                        echo "<div class='row'>";

                        echo "<div class='col-lg-2'>" . date('d-M-Y', strtotime($ju->date)) . "&nbsp;<span class='badge badge-warning'><a href='" . base_url("Accountant/edit_ju/") . $ju->id_jurnal_general . "'>Edit</a></span></div>";
                        echo "<div class='col-lg-2'><a href='#' title='" . $ju->transaction . "'>" . substr($jus->transactions, 0, 50) . "...</a></div>";

                        echo "<div class='col-lg-2'>";
                        foreach ($data_account_debit as $dad) {
                            echo "<div class='row'>";
                            echo "<div class='col'>" . $dad['name'] . "</div>";
                            echo "</div>"; // rows
                        }
                        echo "</div>"; // col-lg-4
                        echo "<div class='col-lg-2'>";
                        foreach ($data_account_debit as $dad) {
                            echo "<div class='row'>&nbsp;</div>";
                        }
                        foreach ($data_account_credit as $no) {
                            echo "<div class='row'>";
                            echo "<div class='col'>" . $dak['name'] . "</div>";
                            echo "</div>";
                        }
                        echo "</div>"; // col-lg-3
                        echo "<div class='col-lg-2'>";
                        foreach ($data_account_debit as $dad) {
                            echo "<div class='row'>";
                            echo "<div class='col'>" . $this->pitih->formatrupiah($dad['amount']) . "</div>";
                            echo "</div>"; // rows
                        }
                        echo "</div>"; // col-lg-2
                        echo "<div class='col-lg-2'>";
                        foreach ($data_account_debit as $dad) {
                            echo "<div class='row'>&nbsp;</div>";
                        }
                        foreach ($data_account_credit as $no) {
                            echo "<div class='row'>";
                            echo "<div class='col'>" . $this->pitih->formatrupiah($dak['amount']) . "</div>";
                            echo "</div>";
                        }
                        echo "</div>";

                        echo "</div>";
                        echo "<hr>";
                    }

                    ?>
                </div> <!-- card-body -->
            </div> <!-- card -->
            <!-- pagination -->
            <div class="text-center mt-1">Page:
                <?= $page ?>
            </div>
        </div>
    </div>
</div>

我不知道下一步该怎么做,在我执行日期过滤器后页面就无法工作,我很抱歉将我的所有代码粘贴在这里,我只是想不通

pagination codeigniter-3 datefilter
© www.soinside.com 2019 - 2024. All rights reserved.