数据表外部链接和货币问题
Posted
技术标签:
【中文标题】数据表外部链接和货币问题【英文标题】:Datatables external link and money currency problem 【发布时间】:2021-07-24 00:48:33 【问题描述】:-
我正在尝试将外部链接添加到“customer_id”链接示例必须像这样 /edit-customer.php?customer_id=$customer_id(这是指向原始客户 ID 的链接)我正在创建大详细信息页面大多数信息不是在表格中
我想添加“$”,货币格式必须为 1,250.00 美元。这是我的代码
<script>
$(document).ready(function()
var dataTable = $('#customer_table').DataTable(
"processing": true,
"serverSide": true,
"order": [],
"ajax":
url: "serverside/ajax-users.php",
type: "POST"
);
$('#customer_table').on('draw.dt', function()
$('#customer_table').Tabledit(
url: 'serverside/action.php',
dataType: 'json',
columns:
identifier: [0, 'customer_id'],
editable: [
[1, 'customer_store', '"1":"B2C","2":"B2B"'],
[2, 'customer_name'],
[3, 'customer_address'],
[4, 'customer_phone'],
[5, 'customer_email'],
[6, 'customer_status', '"1":"Inactive","2":"Active"']
]
,
restoreButton: false,
onSuccess: function(data, textStatus, jqXHR)
if (data.action == 'delete')
$('#' + data.customer_id).remove();
$('#customer_table').DataTable().ajax.reload();
);
);
); <
/script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<table id="customer_table" class="display nowrap form-inline" cellspacing="0" >
<thead>
<tr>
<th>ID</th>
<th>Store ID</th>
<th>Name</th>
<th>Address</th>
<th>Phone</th>
<th>Email</th>
<th>Status</th>
<th>Signing Date</th>
<th>Orders</th>
<th>Total Sales</th>
<th>Detail</th>
</tr>
</thead>
<tbody></tbody>
</table>
//AJAX-USER.PHP
<?php
link db
$column = array("customer_id", "customer_store", "customer_name", "customer_address", "customer_phone", "customer_email", "customer_status", "customer_date", "customer_order", "customer_sale");
$query = "SELECT * FROM customers ";
if(isset($_POST["search"]["value"]))
$query .= '
WHERE customer_id LIKE "%'.$_POST["search"]["value"].'%"
OR customer_name LIKE "%'.$_POST["search"]["value"].'%"
OR customer_store LIKE "%'.$_POST["search"]["value"].'%"
OR customer_address LIKE "%'.$_POST["search"]["value"].'%"
OR customer_phone LIKE "%'.$_POST["search"]["value"].'%"
OR customer_email LIKE "%'.$_POST["search"]["value"].'%"
OR customer_sale LIKE "%'.$_POST["search"]["value"].'%"
OR customer_status LIKE "%'.$_POST["search"]["value"].'%"
';
if(isset($_POST["order"]))
$query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
else
$query .= 'ORDER BY customer_date DESC ';
$query1 = '';
if($_POST["length"] != -1)
$query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
$statement = $connect->prepare($query);
$statement->execute();
$number_filter_row = $statement->rowCount();
$statement = $connect->prepare($query . $query1);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
foreach($result as $row)
$sub_array = array();
$sub_array[] = $row['customer_id'];
$sub_array[] = $row['customer_store'];
$sub_array[] = $row['customer_name'];
$sub_array[] = $row['customer_address'];
$sub_array[] = $row['customer_phone'];
$sub_array[] = $row['customer_email'];
$sub_array[] = $row['customer_status'];
$sub_array[] = $row['customer_date'];
$sub_array[] = $row['customer_order'];
$sub_array[] = $row['customer_sale'];
$sub_array[] = $row['customer_detail'];
$data[] = $sub_array;
function count_all_data($connect)
$query = "SELECT * FROM customers";
$statement = $connect->prepare($query);
$statement->execute();
return $statement->rowCount();
$output = array(
'draw' => intval($_POST['draw']),
'recordsTotal' => count_all_data($connect),
'recordsFiltered' => $number_filter_row,
'data' => $data
);
echo json_encode($output);
?>
//ACTION.PHP
<?php
if ($_POST['action']== 'edit')
$data = array(
':customer_store' => $_POST['customer_store'],
':customer_name' => $_POST['customer_name'],
':customer_address' => $_POST['customer_address'],
':customer_phone' => $_POST['customer_phone'],
':customer_email' => $_POST['customer_email'],
':customer_status' => $_POST['customer_status'],
':customer_id' => $_POST['customer_id']
);
$query = "
UPDATE customers
SET customer_store = :customer_store,
customer_name = :customer_name,
customer_address = :customer_address,
customer_phone = :customer_phone,
customer_email = :customer_email,
customer_status = :customer_status
WHERE customer_id = :customer_id
";
$statement = $connect->prepare($query);
$statement->execute($data);
echo json_encode($_POST);
if ($_POST['action'] == 'delete')
$query = "
DELETE FROM customers
WHERE customer_id = '".$_POST["customer_id"]."'
";
$statement = $connect->prepare($query);
$statement->execute();
echo json_encode($_POST);
?>
我的所有信息都在这里,谢谢你的帮助。
【问题讨论】:
【参考方案1】:如果你需要!将超链接添加到表列。 我将此代码添加到 type:POST in script 部分下
我有 9 个表头。我在行尾添加了 1 个“th”。
"columnDefs": [
"targets": 10,
"data": 0,
"render": function ( data, type, row, meta )
return '<center><button class="btn btn-light btn-sm"><a href="/edit-customer.php?customer_id='+data+'">Detail</a></button></center>';
]
目标是最后 10 个 ---- 数据 0 是 customer_id。
【讨论】:
以上是关于数据表外部链接和货币问题的主要内容,如果未能解决你的问题,请参考以下文章