Membuat search single di yii2

Pagi admin,saya ada tugas membuat search single dengan menginput umur dan hasil akhirnya ketika di klik button ajax preview akan menampilkan data yang di ambil dari database dengan menggabungkan dua tabel yang berbeda.saya sudah coba membuat selisih tahun lahir dan tahun sekarang pada query yg akan diinputkan pada text input search nya.tapi data tidak muncul ketika diklik button preview nya.saya sudah stuck hampir sebulan dan belum menemukan solusinya

*View*

  <?= Html::button('<i class="glyphicon glyphicon-eye-open"></i> Preview', ['class' => 'btn btn-info', "id" => "button_preview"]) ?>
            </div>
        </div>
        <div class="col-lg-8 col-md-8">
            <div id="data-preview">
                <div class="alert alert-danger" id="div-alert" style="display: none"></div>

                <div id="div-available-data">

                </div>

GridPreview id' => 'grid-preview', 'tableOptions' => ['class' => 'table table-condensed table-hover table-bordered table-font-kecil'], 'dataProvider' => $dataProvider, 'columns' => [ [ 'class' => 'yii\grid\CheckboxColumn', 'checkboxOptions' => function ($model) { return ['value' => $model->vengine]; } ], [ 'attribute' => 'vidkk', 'label' => 'No Kartu Keluarga' ], [ 'attribute' => 'vnamakk', 'label' => 'Nama Pemilik Motor' ], [ 'attribute' => 'vnama', 'label' => 'Nama Anak' ], [ 'attribute' => 'dtgllahir', 'label' => 'Tanggal Lahir' ], ] ]);

*Controller Action Button Ajax Preview*
Public function actionAjaxpreview() {

        $query = "SELECT tbl_dtlkartukeluarga.vidkk, tbl_hdrkartukeluarga.vnamakk, tbl_dtlkartukeluarga.vnama, tbl_dtlkartukeluarga.dtgllahir
        FROM tbl_dtlkartukeluarga
        INNER JOIN tbl_hdrkartukeluarga ON tbl_dtlkartukeluarga.viddealer=tbl_hdrkartukeluarga.viddealer;";
        return $query; 

        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        $sessionId = Yii::$app->session->getId();
        $dealer = Yii::$app->user->identity->iddealer;

        if (Yii::$app->request->isPost) {
            $post = Yii::$app->request->post();
    

            $jumlah_row = count($rs);

            if ($jumlah_row > 0) {
                $conn = Yii::$app->db;
                $user = \Yii::$app->user->getId();

                //delete from tabel temporary
                $query = "delete from temp_dtlkartukeluarga where vidsession = :idsession";
                $command = $conn->createCommand($query);
                $command->bindParam(":idsession", $sessionId);
                $n = $command->execute();

                //insert ke tabel temporary
                $query_insert = "insert into temp_dtlkartukeluarga (vidsession, viddealer, vidkk, vnamakk, "
                        . "vnama, dtgllahir) values ";
                $query_values = "";
                for ($i = 0; $i < $jumlah_row; $i++) {
                    $query_values .= "(:idsession, :dealer, :kk$i, :namakk$i, :nama$i, :tgllahir$i, :user, sysdate()), ";
                }
                $query_values = substr($query_values, 0, -2);
                $command = $conn->createCommand($query_insert . $query_values);
                $command->bindParam(":idsession", $sessionId);
                $command->bindParam(":dealer", $dealer);
                $command->bindParam(":user", $user);
                for ($i = 0; $i < $jumlah_row; $i++) {
                    $command->bindParam(":kk$i", $rs[$i]['vidkk']);
                    $command->bindParam(":namakk$i", $rs[$i]['vnamakk']);
                    $command->bindParam(":namaanak$i", $rs[$i]['vnama']);
                    $command->bindParam(":tgllahir$i", $rs[$i]['dtgllahir']);
                }
                $n = $command->execute();

                if ($n > 0) {
                    return 1;
                }
            } else {
                return 0;
            }
        }
    }

Models

public static function getArrayCariUmur() { $conn = Yii::$app->db; $query = "SELECT *,(YEAR(CURDATE())-YEAR(dtgllahir)) AS numur FROM tbl_dtlkartukeluarga "; $command = $conn->createCommand($query); $rs = $command->queryAll(); $command->bindParam(":numur", $input); $rs = $command->queryOne();

    return $rs[&#039;numur&#039;];

}
*JS*
$("#button_preview").click(function () {
    preview_click();
});


function preview_click() {
    let cariumur = $("#tbldtlkartukeluarga-numur").val();

    show_loading();

    $.ajax({
        url: '../kkreminder/ajaxpreview',
        type: 'POST',
        data: {
            cariumur: cariumur,
        },
        success: function (data) {
            if (data === 1) {
                load_preview_grid();
            } else {
                $("#div-alert").text('Tidak ada data').show();
            }
            $('body').loadingModal('destroy');
        },
        error: function (data) {
            $("#div-no-data").show();
            $("#div-available-data").hide();
            $('body').loadingModal('destroy');
            $('#div-alert').show().text(data.message);
        }
    });
}

function load_preview_grid() {
    $("#div-alert").hide();
    show_loading();
    $.ajax({
        url: '../kkreminder/loadgridpreview',
        type: 'GET',
        data: {
        },
        success: function (data) {
            $("#div-available-data").html(data);
            $('body').loadingModal('destroy');
        },
        error: function (data) {
            $('body').loadingModal('destroy');
        }
    });
}
avatar ayukumala
@ayukumala

2 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban