Я использую CodeIgniter и Datatable Server Side для отображения моих данных из базы данных. Я хочу получить URL сегмента из моего представления URL и передать этот сегмент моему контроллеру и показать его последнему столбцу в моей таблице. Но не сработало.
это мой взгляд URL
http://localhost/sosboard/admin/module/55
это мой контроллер
function data_module()
{
// Datatables Variables
$submenu_id = $this->uri->segment(3);
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$module= $this->m_admin->main_menu();
$data = array();
//$page = $data['write'];
foreach ($module->result() as $rows) {
$data[] = array(
$rows->title,
$rows->seq,
$rows->target,
$rows->icon_code,
$rows->active,
$submenu_id);
}
$output = array(
"draw" => $draw,
"recordsTotal" => $module->num_rows(),
"recordsFiltered" => $module->num_rows(),
"data" => $data
);
echo json_encode($output);
}
это мой вид HTML & Javascript
<div class="panel-body">
<table class='table' id="myTable">
<thead>
<tr>
<th>Main Menu</th>
<th>Seq</th>
<th>Target</th>
<th>Icon Code</th>
<th>Active</th>
<th>Action</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div><script>
$(document).ready(function() {
$('#myTable').DataTable({
"ajax": {
"url": "<?php echo site_url('admin/data_module/') ?>",
"type": "GET"}
});
});
</script>
все столбцы в порядке, но последний столбец не отображается.
Пожалуйста помоги.
Спасибо
Это не работает, потому что вы пытаетесь получить сегмент из URI /admin/module/55
когда вы на самом деле на странице /admin/data_module/
через ajax. Таким образом, URI 3 и 4 не существуют так, как вы ожидаете. Только uri сегменты: (1) sosboard (2) admin (3) data_module существует на этой странице.
Я бы предложил передать параметр как получить
$(document).ready(function() {
$('#myTable').DataTable({
"ajax": {
"url": "<?php echo site_url('admin/data_module/') ?>",
"type": "GET",
'data': { param1: '<?php echo $this->uri->segment(3); // module ?>' }
}
});
});
Data_module:
function data_module()
{
// Datatables Variables
$submenu_id = $this->input->get('param1');
Если вам нужно получить 55 из uri, используйте сегмент 4. Если вам нужно передать оба, просто добавьте другой параметр в ajax и получите его так же, как я показал.
Других решений пока нет …