|
|
|
Ajax insert data modal box to database โดยแสดงข้อมูลเป็นแบบ datatable |
|
|
|
|
|
|
|
โหลด template ใช้ datatable อยาก insert data ลงดาต้าเบส ผ่าน modal box พอ modal box ปิดให้ datatable updateข้อมูลที่เพิ่มลงไป แต่โค๊ดพอ insert แล้ว แสดงเป็นแต่ตารางธรรมดา ไม่เป็น datatable จะทำยังไงให้มันอ่านไฟล์ js
form.php
<script src="assets/vendor/datatables/js/dataTables.bootstrap4.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.5.2/js/dataTables.buttons.min.js"></script>
<script src="assets/vendor/datatables/js/buttons.bootstrap4.min.js"></script>
<script src="assets/vendor/datatables/js/data-table.js"></script>
<script src="https://cdn.datatables.net/rowgroup/1.0.4/js/dataTables.rowGroup.min.js"></script>
<script src="https://cdn.datatables.net/select/1.2.7/js/dataTables.select.min.js"></script>
<script src="https://cdn.datatables.net/fixedheader/3.1.5/js/dataTables.fixedHeader.min.js"></script>
<div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12">
<div class="card">
<div class="card-body">
<h3>ประเภทใบงานซ่อม</h3>
<form>
<div class="row" style="padding: 5px;">
<button type="button" name="tab5" id="tab6" data-toggle="modal" data-target="#tab6_data_Modal" class="btn btn-info btn-sm"><i class="fas fa-plus-circle"></i> เพิ่มข้อมูล </button>
<a href="frmcassavaFieldinsert.php"><botton class="btn btn-primary btn-sm"><i class="fas fa-check-circle"></i> บันทึก </botton></a>
<a href="frmcassavaFieldinsert.php"><botton class="btn btn-danger btn-sm"><i class="fas fa-times-circle"></i> ยกเลิก </botton></a></div>
<div id="tab6_div" class="table-responsive">
<table id="tab6_table" class="table table-hoverable table-bordered first" style="width: 100%;">
<thead>
<tr>
<th width="10%"><strong>ลำดับ</strong></th>
<th width="50%"><strong>ชื่อประเภทใบงานซ่อม</strong></th>
<th width="10%"><strong>แผนก</strong></th>
<th width="10%"><strong>สร้างโดย</strong></th>
<th width="10%"><strong>วันที่ถูกสร้าง</strong></th>
<th width="10%"><strong>ชื่อผู้แก้ไขล่าสุด</strong></th>
<th width="10%"><strong>ชื่อผู้แก้ไข</strong></th>
</tr>
</thead>
<tbody >
<?php
$strSQL = "SELECT * FROM typerepair_setting ORDER BY id";
$objQuery = mysql_query($strSQL);
$i = 1;
while ($row = mysql_fetch_array($objQuery)){
echo "<tr>
<td><strong>".$i."</strong></td>
<td><strong>".$row['typerepair_name']."</strong></td>
<td><strong>".$row['department_id']."</strong></td>
<td>".$row['CreateDate']."</td>
<td>".$row['CreateBy']."</td>
<td>".$row['UpdateBy']."</td>
<td>".$row['UpdateDate']."</td>
</tr>";
$i++;
}
?>
</table>
</div>
</form>
</div>
</div>
</div>
<!-------------------------tab5------------------------------------>
<div id="tab5_data_Modal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">เพิ่มสาเหตุการปฏิเสธงานซ่อม</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<form method="post" id="insert_form_tab5">
<label>สาเหตุการปฏิเสธงานซ่อม</label>
<input type="text" name="nametab5" id="nametab5" class="form-control" />
<br />
<input type="submit" name="insert_tab5" id="insert_tab5" value="Inserting" class="btn btn-success" />
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#insert_form_tab5').on("submit", function(event){
event.preventDefault();
if($('#nametab5').val() == "")
{
alert("Name is required");
}
else
{
$.ajax({
url:"inserttab5.php",
method:"POST",
data:$('#insert_form_tab5').serialize(),
beforeSend:function(){
$('#insert_tab5').val("Inserting");
},
success:function(data){
$('#insert_form_tab5')[0].reset();
$('#tab5_data_Modal').modal('hide');
$('#tab5_div').html(data);
}
});
}
});
});
</script>
<!-------------------------tab5------------------------------------>
inserttab5.php
<?php
ob_start();
session_start();
?>
<?php
//insert.php
if(!empty($_POST))
{
$times = date("H:i:s"); // March 10, 2001, 5:16 pm
$today = date("d-m-Y"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
$output = '';
$name = mysql_real_escape_string($_POST["nametab5"]);
$strSQLMain = "SELECT MAX(id) As id FROM rejectremark_setting";
$objQueryMain = mysql_query($strSQLMain);
while ($objResultMain = mysql_fetch_array($objQueryMain)){
$max=$objResultMain["id"]+1;
$Seq = substr("00".$max,-2,2);
}
$query = "
INSERT INTO rejectremark(id, reject_code, reject_name, CreateDate, CreateBy)
VALUES('{$max}','RJ{$Seq}','$name', '{$today} {$times}', '{$_SESSION['UserID']}')
";
if(mysql_query($query))
{
$select_query = "SELECT * FROM rejectremark ORDER BY id ";
$result = mysql_query($select_query);
$output .= '
<table id="tab1_table" class="table table-hoverable table-bordered first" style="width: 100%;">
<tr>
<th width="10%"><strong>ลำดับ</strong></th>
<th width="20%"><strong>สาเหตุการปฏิเสธงานซ่อม</strong></th>
<th width="10%"><strong>สร้างโดย</strong></th>
<th width="10%"><strong>วันที่ถูกสร้าง</strong></th>
<th width="10%"><strong>ชื่อผู้แก้ไขล่าสุด</strong></th>
<th width="10%"><strong>ชื่อผู้แก้ไข</strong></th>
</tr>
';
$i=1;
while($row = mysql_fetch_array($result))
{
$output .= '
<tr>
<td><strong>'.$i.'</strong></td>
<td><strong>'.$row['reject_name'].'</strong></td>
<td>'.$row['CreateBy'].'</td>
<td>'.$row['CreateDate'].'</td>
<td>'.$row['UpdateBy'].'</td>
<td>'.$row['UpdateDate'].'</td>
</tr>
';
$i++;
}
$output .= '</table>';
}
echo $output;
}
?>
Tag : PHP, MySQL, HTML, JavaScript, Ajax, jQuery
|
|
|
|
|
|
Date :
2020-12-08 16:09:18 |
By :
aumebum-km |
View :
1125 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เมื่อ .success ให้ สร้าง tr,td ให้เหมือน dialog table ที่มีอยู่ จัดองค์ประกอบ data ให้เรียบร้อย ค่อย append tbody ได้เลย
|
|
|
|
|
Date :
2020-12-08 17:17:06 |
By :
Genesis™ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะยังไม่เข้าใจการทำงานของ Web
รายการที่ Add เข้าใหม่มันเกิดหลัง Document Ready
มีหลายท่าให้เลือกใช้
ajax.reload(), draw(), etc...
อ่าน Doc เอานะ
ถ้าอ่าน Doc ไม่เข้าใจ...ก็จงอ่านให้เข้าใจแล้วจะทำได้เอง
|
|
|
|
|
Date :
2020-12-09 09:34:26 |
By :
Guest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|