- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在服务器端数据表方面遇到了一些问题。当我使用 inner join 数据时,数据表不起作用,但如果我使用查询 select * from table
这个工作。它的数据表 Controller :
<?php
require_once '../config/config.php'; // Use require. Can not use INCLUDE function
// storing request (ie, get/post) global array to a variable
$requestData = $_REQUEST;
$columns = array(
// datatable column index => database column name
0 => 'id_hanca',
1 => 'id_detail_po',
2 => 'ukuran',
3 => 'jumlah_hanca',
4 => 'status_hanca',
5 => 'id_user',
6 => 'id_vendor'
);
// getting total number records without any search
$sql = "SELECT * ";
$sql.=" FROM hanca";
$query = $db->query($sql);
$totalData = $query->num_rows;
$totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows.
$sql = "SELECT
model.nm_model, hanca.id_hanca, hanca.ukuran, hanca.jumlah_hanca, user.name_usr, vendor.nama_vendor
FROM hanca
INNER JOIN po_detail ON po_detail.id_detail_po = hanca.id_detail_po
INNER JOIN model ON model.id_model = po_detail.id_model
INNER JOIN user ON user.id_usr = hanca.id_user
INNER JOIN vendor ON vendor.id_vendor = hanca.id_vendor WHERE 1=1";
if (!empty($requestData['search']['value'])) { // if there is a search parameter, $requestData['search']['value'] contains search parameter
$sql.=" AND ( po_detail LIKE '%" . $requestData['search']['value'] . "%' ";
$sql.=" OR model LIKE '%" . $requestData['search']['value'] . "%' )";
}
$query = $db->query($sql);
$totalFiltered = $query->num_rows; // when there is a search parameter then we have to modify total number filtered rows as per search result.
$sql.=" ORDER BY " . $columns[$requestData['order'][0]['column']] . " " . $requestData['order'][0]['dir'] . " LIMIT " . $requestData['start'] . " ," . $requestData['length'] . " ";
$query = $db->query($sql);
$data = array();
$no = 1;
foreach ($query as $row) {
$nestedData = array();
$nestedData[] = $no++;
$nestedData[] = $row['nm_model'];
$nestedData[] = $row['ukuran'];
$nestedData[] = $row['jumlah_hanca'];
$nestedData[] = $row['name_usr'];
$nestedData[] = $row['nama_vendor'];
// Input Hiddden to include value for update cart
// Add html button for action
$nestedData[] = "<a href='#' class=\" btn btn-info btn-xs btn-flat\" onClick=\"detailBelanja('$row[id_hanca]');\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Detail Belanja\"><span class=\"glyphicon glyphicon-search\"></span> Detail</a>";
$data[] = $nestedData;
}
$json_data = array(
"draw" => intval($requestData['draw']), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw.
"recordsTotal" => intval($totalData), // total number of records
"recordsFiltered" => intval($totalFiltered), // total number of records after searching, if there is no searching then totalFiltered = totalData
"data" => $data // total data array
);
echo json_encode($json_data); // send data as json format
需要更多详细信息的文本虚拟Lorem ipsum dolor sit amet, consectetur adipiscing elit。 Curabitur et arcu aliquet,congue metus eu,congue sapien。 Nam suscipit efficitur elit,ac maximus felis tincidunt eu。 Pellentesque 居民 morbi tristique senectus et netus et malesuada fames ac turpis egestas。 Duis porttitor risus sed erat dignissim varius
最佳答案
试试这个:
HTML 和 JS:
<html>
<head>
<link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.2.1/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.2.1/js/buttons.flash.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.2.1/js/buttons.html5.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.2.1/css/buttons.dataTables.min.css">
<script type="text/javascript" language="javascript" class="init">
$(document).ready(function() {
var count = 0;
$('#data_table').dataTable({
"sServerMethod": "POST",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "get_data.php",
dom: 'Bfrtip',
buttons: ['pdf', 'csv'],
});
// To edit
$(document).on('click', '.edit', function(){
var id = $(this).attr('id');
alert(id);
// Editing code here
});
// To delete
$(document).on('click', '.delete', function(){
var id = $(this).attr('id');
if(confirm('Are you sure'))
{
alert('Pending');
// deleting code here
}
});
});
</script>
<style>
.odd{
background-color: #FFF8FB !important;
}
.even{
background-color: #DDEBF8 !important;
}
</style>
</head>
<body>
<div>
<table id="data_table">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Position</th>
<th>Department</th>
<th>Expertise</th>
</tr>
</thead>
<tbody>
<!-- Dynamic Body -->
</tbody>
</table>
</body>
</div>
</html>
PHP:
<?php
mysql_connect("localhost", "root", "root") or die('Connection Error');
mysql_select_db("testing_db") or die("Database Connection Error");
$start = $_REQUEST['iDisplayStart'];
$length = $_REQUEST['iDisplayLength'];
$sSearch = $_REQUEST['sSearch'];
$col = $_REQUEST['iSortCol_0'];
$arr = array(0 => 't1.first_name',1 => 't1.last_name', 2 => 't1.email');
$sort_by = $arr[$col];
$sort_type = $_REQUEST['sSortDir_0'];
$position_filter = '';
$position = substr($_REQUEST['sSearch_3'], 1, -1);
if($position != '')
{
$position_filter = "and t1.position LIKE '%".$position."%'";
}
$qry = "select t1.id, t1.first_name, t1.last_name, t1.email, t1.position, t1.office, t2.department, t3.expertise from datatables_demo t1 JOIN datatable_dept t2 ON t1.id = t2.emp_id JOIN datatable_expertise t3 ON t1.id = t3.emp_id where (first_name LIKE '%".$sSearch."%' or last_name LIKE '%".$sSearch."%' or email LIKE '%".$sSearch."%') ".$position_filter." ORDER BY ".$sort_by." ".$sort_type." LIMIT ".$start.", ".$length; // join defined here
$res = mysql_query($qry);
while($row = mysql_fetch_assoc($res))
{
$data[] = $row;
}
$qry = "select count(id) as count from datatables_demo";
$res = mysql_query($qry);
while($row = mysql_fetch_assoc($res))
{
$iTotal = $row['count'];
}
$rec = array(
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iTotal,
'aaData' => array()
);
$k=0;
if (isset($data) && is_array($data)) {
foreach ($data as $item) {
$rec['aaData'][$k] = array(
0 => ucwords(strtolower($item['first_name'])),
1 => ucwords(strtolower($item['last_name'])),
2 => ucwords(strtolower($item['email'])),
3 => ucwords(strtolower($item['position'])),
4 => ucwords(strtolower($item['department'])),
5 => ucwords(strtolower($item['expertise'])),
);
$k++;
}
}
echo json_encode($rec);
?>
关于php - 如何在服务器端主动搜索数据表中的内部连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39262480/
我有一个带有嵌套数据的 angular 数据表,我正在尝试在行点击函数上创建另一个数据表。父数据表的 rowCallBack 函数。 这是我的外部数据表 html; 这是我生成数据表的方
我有一个字母数字列,其中包含诸如“1、2、2”之类的字符串。 当我在搜索中输入“1, 2, 2”时,它似乎返回带有“1,”和“2,”的所有单元格。 我该怎么做才能使搜索仅返回“1、2、2”? 使用数据
我有一个获取其数据服务器端的表,使用自定义服务器端初始化参数,这些参数因生成的报告而异。表格生成后,用户可以打开一个弹出窗口,他们可以在其中添加多个附加过滤器以进行搜索。我需要能够使用与原始表相同的初
在 datatables我希望能够隐藏所有列,但似乎无法正确使用语法。 这来自下面的代码和上面的链接,创建了一个显示所有列的按钮。有没有办法写这个以便我可以隐藏所有列? {
我正在使用 DataTable 创建一个交互式表。我有 9 列,其中 5 列是值。我想根据它们的具体情况更改每个单元格的背景颜色。 我已经开始尝试首先更改整行颜色,因为这似乎是一项更容易的任务。但是我
我有一个简单的例子来说明我的问题。我正在使用数据表 1.9。当数据表位于另一个 html 表内时,水平滚动时列标题不会移动。当它不在 html 表中时它工作正常。我的示例实际上取自他们的水平滚动示例,
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
这是添加按钮以将数据导出到 csv、pdf、excel 的数据表示例...... fiddle here https://datatables.net/extensions/buttons/examp
是否有任何方法可以更改 angularjs 数据表中的按钮样式(colvis、copy、print、excel)。 vm.dtOptions = DTOptionsBuilder.newOptions
我试图弄清楚如何加入 2 个数据表并更新第一个但应用了过滤器。 DT DT2 b c 1: 1 10 2: 2 10 3: 3 10 4: 4 10 5: 5 10 6: 6 10 7: 7 10
我有一个数据表,其中包含许多包含值的列。我还有另一列,它定义了我需要选择哪些列的值。我很难找到一种方法来做到这一点。 这是一个简单的例子。 > d d value.1 value.2 name
我正在使用 data.table 包。我有一个数据表,表示用户在网站上的操作。假设每个用户都可以访问一个网站,并对其执行多项操作。我的原始数据表是 Action (每一行都是一个 Action ),我
我想知道每个变量在每个组中变化了多少次,然后将结果添加到所有组中。 我是这样找到的: mi[,lapply(.SD, function(x) sum(x != shift(x), na.rm=T)
有人可以向我解释一下如何向页眉或页脚添加按钮吗?Datatables 的开发者 Alan 说你必须离开网络服务器才能使用 Table Tools 来使用按钮。但我在独立计算机上离线运行 Datatab
我希望按 id 和按顺序(时间)计算不同的东西。 例如,与: dt = data.table( id=c(1,1,1,2,2,2,3,3,3), hour=c(1,5,5,6,7,8,23,23,23
我正在尝试在 JIRA 小工具中使用数据表,但在我的表准备就绪后,没有可用的分页按钮。我有一个表,我正在以最简单的方式使用数据表:$("#mytableid").dataTable(); 浏览页面元素
我有 responsive 表单中的数据表。 数据表生成 child rows在小型设备上。在这一行中,我有一些输入控件。这会导致两个问题。 第一个问题:**隐藏子行中的值不会进入表单数据。** 第二
我在使用 JQuery DataTable 捕获 keydown 事件时遇到问题。我的目标是允许用户使用箭头键导航表的行。因此,当用户按下箭头键时,我想捕获 keydown 事件并移动表的选定行(这是
是否有任何方法可以以编程方式更改显示的行数,而无需从下拉列表中手动选择? 我已经知道如何更改默认行数。当表首次加载时,我希望它加载所有行,然后“刷新”表以可能仅显示前 10 行。但我想以编程方式刷新表
我有一个数据表,我应该对其进行更改,例如我想更改内容的状态,但该内容位于表的第三页。当我更改它时,数据表会自行刷新到第一页。我想做的是保留选定的页码并在刷新后回调它。这可能吗? 顺便说一句,我正在使用
我是一名优秀的程序员,十分优秀!