|
|
|
datatable คิวรี่ข้อมูลตามเงื่อนไขออกปกติ แต่เมื่อไม่ตรงเงื่อนไขกลับยังมีข้อมุลแสดงค้างในตาราง |
|
|
|
|
|
|
|
datatable คิวรี่ข้อมูลตามเงื่อนไขออกปกติ แต่เมื่อไม่ตรงเงื่อนไขกลับยังมีข้อมุลแสดงค้างในตาราง แต่เป็นบางฟิลด์นะครับที่ค้างในตาราง
reponse
Code (PHP)
<?php
include 'connect.php';
$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์");
$thai_month_arr=array(
"0"=>"",
"1"=>"ม.ค",
"2"=>"ก.พ",
"3"=>"มี.ค",
"4"=>"เม.ย",
"5"=>"พ.ค",
"6"=>"มิ.ย",
"7"=>"ก.ค",
"8"=>"ส.ค",
"9"=>"ก.ย",
"10"=>"ต.ค",
"11"=>"พ.ย",
"12"=>"ธ.ค");
function thai_date($time){
global $thai_day_arr,$thai_month_arr;
//$thai_date_return="วัน".$thai_day_arr[date("w",$time)];
$thai_date_return.= "วันที่ ".date("j",$time);
$thai_date_return.= " ".$thai_month_arr[date("n",$time)];
$thai_date_return.= " ".(date("Yํ",$time)+543);
//$thai_date_return.= " ".date("H:i",$time)." น.";
return $thai_date_return;
}
try {
$pending = 'pending';
$data = $db->prepare("SELECT user,
select_amount,
select_type,
fullname,
log_id,
logs_status,
loan_by,
approve_by,
start_date,
date_return,
place,
GROUP_CONCAT(type SEPARATOR ', ') AS item
FROM tbl_borrow_logs, tbl_type
WHERE logs_status = :pending
AND concat(',',select_type,',') LIKE concat('%,',id,',%')");
$data->bindParam(':pending',$pending, PDO::PARAM_STR);
$data->execute();
$row = $data->rowCount();
$json=array();
while ($fetch = $data->fetch(PDO::FETCH_ASSOC)) {
$start = strtotime($fetch['start_date']);
$end = strtotime($fetch['date_return']);
$json[] = array("item"=>$fetch['item'],
"place"=>$fetch['place'],
"fullname"=>$fetch['fullname'],
"start_date"=>thai_date($start),
"end_date"=>thai_date($end),
"approve"=>$fetch['approve_by'],
"loan"=>$fetch['loan_by'],
"status"=>$fetch['logs_status']);
}
$results = array(
"sEcho" => 1,
"iTotalRecords" => $row,
"iTotalDisplayRecords" => $row,
"aaData"=>$json);
echo json_encode($results);
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
datatable
Code (PHP)
<script type="text/javascript">
$( document ).ready(function() {
$('#myTable').dataTable({
"bProcessing": true,
"sAjaxSource": "response_wait_approve.php",
"sPaginationType": "full_numbers",
// "autoWidth": true,
// "drawCallback": function(settings) {
// console.log(settings.json);
// //do whatever
// },
"language": {
"lengthMenu": "แสดง _MENU_ แถวต่อหน้า",
"zeroRecords": "ไม่มีข้อมูล",
"info": "หน้าที่ _PAGE_ จาก _PAGES_",
"infoEmpty": "ไม่มีข้อมูล",
"infoFiltered": "(กรอกจากทั้งหมด _MAX_ แถว)",
"search": "ค้นหา:",
"processing": "กำลังประมวลผล...",
"paginate": {
"first": "หน้าแรก",
"last": "หน้าสุดท้าย",
"next": "ถัดไป",
"previous": "ก่อหน้า"
}
},
columnDefs : [
{ "width": "5%", "targets": 0 },
{ "width": "25%", "targets": 1 },
{ "width": "10%", "targets": 2 },
{ "width": "10%", "targets": 4 },
{ "width": "10%", "targets": 6 },
{ "width": "10%", "targets": 7 },
{
width: "10%",
targets : [3], //target start at index 0
render : function (data, type, row) {
switch(row.approve) {
case 'orawan.po' : return 'อรวรรณ พรตะคุ';
default : return 'N/A';
}
}
},
{
width: "10%",
targets : [5],
render : function (data, type, row) {
switch(row.loan) {
case 'peerayuth.mu' : return 'พีระยุทธ หมื่นบุญมี';
case 'latee.bu' : return 'ลทีบ์ บัวงาม';
case 'suthep' : return 'สุเทพ ยนต์พิมาย';
case 'achara.tu' : return 'อัจฉรา เทือกพุดซา';
case 'pornthip.ba' : return 'พรทิพย์ บั้งจันอัด';
default : return 'N/A';
}
}
},
{
width: "10%",
sClass: "col",
targets : [8],
render : function (data, type, row) {
console.log(row);
switch(row.status) {
case 'returned' :
return '<button type="submit" class="btn btn-success btn-sm disabled" name="btn-submit" id="btn-submit"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span>ส่งคืนแล้ว</button>';
case 'not return' :
return '<button type="submit" class="btn btn-danger btn-sm disabled" name="btn-submit" id="btn-submit"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> ยังไม่ส่งคืน</button>';
case 'pending' :
return '<button type="button" class="btn btn-primary btn-sm disabled"><span class="glyphicon glyphicon-time" aria-hidden="true"></span> รออนุมัติ</button>';
case 'cancel' :
return '<button type="button" class="btn btn-default btn-sm disabled"><span class="glyphicon glyphicon-ban-circle" aria-hidden="true"></span> ยกเลิก</button>';
case 'not approve' :
return '<button type="button" class="btn btn-danger btn-sm disabled"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> ไม่อนุมัติ</button>';
case 'checking' :
return '<button type="button" class="btn btn-warning btn-sm disabled"><span class="glyphicon glyphicon-retweet" aria-hidden="true"></span> กำลังตรวจสอบ</button>';
default : return 'N/A';
}
}
}
],
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { //Row Numbers with Paging
var index = iDisplayIndexFull + 1;
$('td:eq(0)',nRow).html(index);
return nRow;
},
"order": [[ 1, 'asc' ]],
"aoColumns": [
{ mData: null, "sClass": "col"},
{ mData: 'item', "sClass": "col"}, //css class col see at <head>
{ mData: 'place', "sClass": "col" },
{ mData: 'approve', "sClass": "col" },
{ mData: 'start_date', "sClass": "col" },
{ mData: 'loan', "sClass": "col" },
{ mData: 'end_date', "sClass": "col" },
{ mData: 'fullname', "sClass": "col" }
// {
// "mRender": function(data, type, row) {
// console.log(row); //debug
// return '<div style="text-align: center;">ss</div>';
// }
// }
]
}); //datatable
}); //document
</script>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery
|
ประวัติการแก้ไข 2016-11-25 14:23:13
|
|
|
|
|
Date :
2016-11-25 14:22:19 |
By :
littlebeer |
View :
1411 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เงื่อนไข switch case อันไหนที่ไม่เข้าตามต้องการ
แล้วค่าในตารางที่ค้างคือค่าอะไร ค้างที่ฟิลด์ไหน
มันก็ต้องไล่ตั้งแต่ เราส่งค่าอะไรออกมา แล้วต้องการให้มันเปลี่ยน หรือ เข้าเงือนไขไหน
เป็นผมผมจะจำว่าฟิลด์ไหนที่มีปัญหา ค่าค้าง
จากนั้นเปิด switch case ออกเพื่อดูค่าเพียวๆ ในฟิลด์นั้น คืออะไร
สมมุติ
ค่าที่ค้างแจงว่า "สีแดง"
เมื่อปลด switch case ออก มีการส่งค่ามาเป็น "red"
อันนี้มันก็สื่อตรงกัน
แต่ถ้าค่าที่ค้างแจงว่า "สีแดง"
เมื่อปลด switch case ออก ค่าที่ส่งมากลับเป็นอย่างอื่น หรือ เป็นค่าว่าง
อันนี้ก็เดาได้ 2 อย่าง คือ
1. switch case กำหนดอะไรผิดสักอย่าง
2. การคิวรี่ที่เขียนไว้มีการผิดพลาด
ได้แต่ตั้งสมมุติฐานการทดลองตามนี้ครับ อยู่ที่ท่านจะทดสอบก็สุดแล้วแต่ใจของท่านครับ
|
|
|
|
|
Date :
2016-11-25 14:46:22 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : apisitp เมื่อวันที่ 2016-11-25 14:46:22
รายละเอียดของการตอบ ::
มีแค่ฟิลด์วันที่เท่านั้นครับ ที่มีปัญหาเงื่อนไขก็ไม่ตรงแต่ทำไมยังแสดง
Code (PHP)
{"sEcho":1,"iTotalRecords":1,"iTotalDisplayRecords":1,"aaData":[{"item":null,"place":null,"fullname":null,"start_date":"\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 1 \u0e21.\u0e04 2513","end_date":"\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 1 \u0e21.\u0e04 2513","approve":null,"loan":null,"status":null}]}
|
ประวัติการแก้ไข 2016-11-26 11:56:42
|
|
|
|
Date :
2016-11-26 11:56:13 |
By :
littlebeer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ละ ลืม group by
|
|
|
|
|
Date :
2016-11-26 14:15:49 |
By :
littlebeer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|