Таблицы данных с несколькими столбцами поиска с использованием обработки на стороне сервераJquery

Программирование на jquery
Ответить
Anonymous
 Таблицы данных с несколькими столбцами поиска с использованием обработки на стороне сервера

Сообщение Anonymous »

Я хочу выполнить индивидуальный поиск с использованием таблиц данных на стороне сервера, все функции такие же, как в примере на datatables.net, но когда я ищу в поле фильтра столбца, он просто обрабатывается и не меняется, кто-нибудь может мне помочь? спасибо :)для удобства чтения я напишу свой код ниже:
Контроллерpublic function pm()
{
$data['title'] = "PM";
$username = $this->session->userdata('username');
$data['user'] = $this->db->select('*')->from('mst_user')->join('mst_pegawai', 'mst_pegawai.username=mst_user.username', 'left')->where('mst_user.username', $username)->get()->row_array();

$data['dataPM'] = $this->db->get('mfaktur');
if ($this->form_validation->run() == false) {
$this->load->view('templates/header', $data);
$this->load->view('templates/navbar', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('master/pm', $data);
$this->load->view('templates/footer');
}
}
// Get data perusahaan
public function get_data_pm()
{
$list = $this->pm->get_datatables();
$data = array();
$no = $_POST['start'];

foreach ($list as $field) {
// $tmbl2 = 'Update";

$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->pm->count_all(),
"recordsFiltered" => $this->pm->count_filtered(),
"data" => $data,
);
//output dalam format JSON
echo json_encode($output);
}

Модель
defined('BASEPATH') or exit('No direct script access allowed');

// Export PM
class Pmmaster extends CI_Model
{
public $table_user = 'mfaktur'; //nama tabel dari database id

public $column_order = array(null, 'kdJenisTransaksi', 'fgPengganti', 'nomorFaktur', 'masaPajak', 'tahunPajak', 'tanggalFaktur', 'npwpPenjual', 'alamatPenjual', 'namaPenjual', 'npwpLawanTransaksi', 'namaLawanTransaksi', 'alamatLawanTransaksi', 'referensi', 'jumlahDpp', 'jumlahPpn', 'jumlahPpnbm', 'isWapu', 'isSupplierReg', 'statusApproval', 'statusFaktur'); //field yang ada di table user

public $column_search = array('kdJenisTransaksi', 'fgPengganti', 'nomorFaktur', 'masaPajak', 'tahunPajak', 'npwpPenjual', 'alamatPenjual', 'namaPenjual', 'npwpLawanTransaksi', 'namaLawanTransaksi', 'alamatLawanTransaksi', 'referensi', 'isWapu', 'isSupplierReg', 'statusApproval', 'statusFaktur'); //field yang diizin untuk pencarian

public $order = array('id' => 'asc'); // default order

public function __construct()
{
parent::__construct();
$this->load->database();
}

private function _get_datatables_query()
{

$this->db->from($this->table_user);
$where = "branch_id = CASE WHEN '" . $this->session->userdata('branch_id') . "' = '11' THEN branch_id ELSE '" . $this->session->userdata('branch_id') . "' END";
$this->db->where($where);

$i = 0;
// looping awal
foreach ($this->column_search as $item) {
// jika datatable mengirimkan pencarian dengan metode POST
if ($_POST['search']['value']) {
// looping awal
if ($i === 0) {
$this->db->group_start();
$this->db->like($item, $_POST['search']['value']);
} else {
$this->db->or_like($item, $_POST['search']['value']);
}

if (count($this->column_search) - 1 == $i) {
$this->db->group_end();
}
}
$i++;
}

if (isset($_POST['order'])) {
$this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
} else if (isset($this->order)) {
$order = $this->order;
$this->db->order_by(key($order), $order[key($order)]);
}
}

public function get_datatables()
{
$this->_get_datatables_query();
if ($_POST['length'] != -1) {
$this->db->limit($_POST['length'], $_POST['start']);
}

$query = $this->db->get();
return $query->result();
}

public function count_filtered()
{
$this->_get_datatables_query();
$query = $this->db->get();
return $query->num_rows();
}

public function count_all()
{
$this->db->from($this->table);
return $this->db->count_all_results();
}

}

Просмотр







Data PM
dalam bentuk tabel.






Data PM



Подробнее здесь: https://stackoverflow.com/questions/689 ... processing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»