|
|
|
การนำข้อมูลจาก db มาโชว์รายละเอียด บน sweet alert |
|
|
|
|
|
|
|
text: ตรงนี้ เปลี่ยน เป็น html และ สามารถใช้ ตัวแปรได้
Code (JavaScript)
var user_html = `<div>สวัสดี ${ro.username}</div>`;
swal({ title: 'title',
html: user_html
});
|
|
|
|
|
Date :
2024-03-24 17:53:05 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
html: '<input ...>'
|
|
|
|
|
Date :
2024-03-24 20:09:06 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.v เมื่อวันที่ 2024-03-24 22:45:27
รายละเอียดของการตอบ ::
อันนี้ code ที่ผมใส่เข้าไปครับ ต้องขอโทษด้วยน่ะครับผมเมื่อใหม่อาจจะยังไม่เข้าใจหลักการทำงานบางตัว
Code (PHP)
<!-- sweet alert js & css -->
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">
<?php
include('db_connect.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
session_start();
date_default_timezone_set('asia/bangkok');
$date1 = date('Y-m-d H:i:s'); // ค่าตัวแปรวันที่
$idcard=$_POST['idcard']; // ค่าที่ได้รับจาก textbox idcard
$_SESSION['idcard'] = $idcard;
$username=$_POST['name']; // ค่าที่ได้รับจาก names
$_SESSION['username'] = $username;
$section=$_POST['section']; // ค่าที่ได้รับจาก section
$_SESSION['section'] = $section;
$status=$_POST['select']; // ค่าที่ได้รับจาก radio button
$_SESSION['y'] = $status;
$serail=$_POST['serial']; // ค่าที่ได้รับจาก section
$_SESSION['sr'] = $serail;
$statuscheck=$_POST['status1'];
$_SESSION['ch']= $statuscheck;
$comment=$_POST['txtcomment']; // ค่าที่ได้รับจาก txtDescription
$_SESSION['cm']= $comment;
$fileupload=$_FILES['fileupload']; //รับค่าไฟล์จากฟอร์ม
//echo " ".$_FILES["fileupload"]["name"]."<br>"; //แสดงค่า จาก fileupload
date_default_timezone_set('Asia/Bangkok');
$date = date('Ymd'); //ฟังก์ชั่นวันที่
$numrand = (mt_rand()); //ฟังก์ชั่นสุ่มตัวเลข
$upload=$_FILES['fileupload'];//เพิ่มไฟล์
if($upload <> '') { //not select file
$path="./borrow/"; //โฟลเดอร์ที่จะ upload file เข้าไป
$type = strrchr($_FILES['fileupload']['name'],"."); //เอาชื่อไฟล์เก่าออกให้เหลือแต่นามสกุล
//ตั้งชื่อไฟล์ใหม่โดยเอาเวลาไว้หน้าชื่อไฟล์เดิม
$newname = $date.$numrand.$type;
$path_copy=$path.$newname;
$path_link="fileupload/".$newname;
move_uploaded_file($_FILES['fileupload']['tmp_name'],$path_copy); //คัดลอกไฟล์ไปเก็บที่เว็บเซริ์ฟเวอร์
}
// เลือก ตาราง tb_borrow แสดงเงื่อนไข
$sql = "SELECT * FROM tb_borrow WHERE idcard= '".$_SESSION['idcard']."'";
$query = $con->query($sql);
$result = $query->fetch_assoc();
if($result){
// sweetalert แจ้งเตือน popup กด ok ก่อน redirect ไป login.php
echo '<script>
setTimeout(function() {
swal({
title: " !! รหัสนี้มีการยืมเครื่องแล้ว !!",
text: "Message!",
html: "<input type="text1" id="fname" name="idcard" value="<?php echo $_SESSION["idcard"]?>" > ",
type: "error"
}, function() {
window.location = "index.php";
});
}, 1000);
</script>';
}
else{
//insert ข้อมูลเข้าไปในตาราง tb_borrow
$sql = "INSERT INTO tb_borrow (time,idcard,username,section,status,serial,comment,status1,updatestatus,fileupload)
VALUES ('$date1','$idcard','$username','$section','$status','$serail','$comment','$statuscheck','$statuscheck','$newname')";
$query = $con->query($sql);
// sweetalert แจ้งเตือน popup กด ok ก่อน redirect ไป borrow.php
echo '<script>
setTimeout(function() {
swal({
title: "!! บันทึกข้อมูลการยืมสำเร็จ !!",
text: "Message",
type: "success"
}, function() {
window.location = "index.php";
});
}, 1000);
</script>';
}
session_destroy();
mysqli_close($con);
//echo $date1;
//echo "</br>";
//echo $_SESSION['idcard'];
//echo "<br>";
//echo $_SESSION['username'];
//echo "</br>";
//echo $_SESSION['y'];
//echo "</br>";
//echo $_SESSION['section'];
//echo "</br>";
//echo $_SESSION['sr'];
//echo "</br>";
//echo $_SESSION['cm'];
//echo "</br>";
?>
|
|
|
|
|
Date :
2024-03-25 09:43:14 |
By :
tharakorn.jin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในตัวอย่างของผม ผมใช้ single quote ' แต่คุณดันใช้ double quote "
แล้วมันจะไปทำงานได้ยังไงครับ?
"<input type=" เอาแค่นี้ก็กลายเป็นว่าปิด string ที่เครื่องหมายเท่ากับแล้ว (=) แล้วส่วนที่เหลือก็ไม่ต้องพูดถึง กลายเป็นผิด syntax ไปทั้งหมด
ลอกก็ยังลอกผิดเลย เอาตัวอักษรที่บอกอย่างหนึ่งไปใช้อีกอย่าง แล้วเวลามีปัญหากลับมาอ้างตัวอักษรที่ผมโพสต์ทั้งที่ตัวเองใช้อีกแบบ!!!!
ถ้าจะใช้ double ก็ต้องมีการ escape ด้วย back slash ตัวอย่าง html: "<input type=\"text\">" ถ้าไม่ใช้ back slash escape ก็ต้องใช้อย่างอื่นที่ไม่ทำให้มันกลายเป็นเปิดกับปิด string ตามตัวอย่างที่ผมยกมาให้อ่านในคำตอบก่อนๆ
จะมือใหม่หรือเก่า สำคัญต้องตรงไปตรงมา ไม่ใช่ตัวอย่างบอก ' แต่ตัวเองเอาไปเขียน " แล้วมีปัญหากลับมาบอก ' ว่าทำให้มีปัญหา
|
ประวัติการแก้ไข 2024-03-25 10:21:35
|
|
|
|
Date :
2024-03-25 10:18:45 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หา sweetalert2 มาใช้ ที่ผมให้มันเป็น sweetalert2
โค๊ดข้างล่าง น่าจะใช้กับ 1.1.3 ได้
Code (PHP)
?>
<script>
setTimeout(function() {
swal( '!! บันทึกข้อมูลการยืมสำเร็จ !!',
'Message <?=$_SESSION['user_name']?>',
'success'
).then( ()=>{
location.href = "index.php";
});
}, 1000);
<?php
ปล. ความเห็น คุณ V สำคัญมากๆ quote เปิดปิด
ตัวอย่างที่ผมให้ไป ผมเลี่ยงการใช้ คำสั่ง echo แต่ใช้การปิด tag php แล้วเปิดใหม่แทน
เพราะ คำสั่ง echo ต้องใย quote อย่างใดอย่างหนึ่ง ต้องมากำหนด escape string พลาดไม่ได้
|
ประวัติการแก้ไข 2024-03-25 16:17:04 2024-03-25 16:17:44
|
|
|
|
Date :
2024-03-25 16:10:05 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้ดาวน์โหลด WinMerge มาติดตั้งถ้าใช้ Windows (OS อื่นไม่รู้มีมั้ย)
มันจะช่วยเทียบเคียงตัวอักษรให้แบบละเอียดโคตรๆ บางตัวอักษรดูด้วยตาเปล่าเหมือนกันแต่เป็นคนละตัว, หรือบางตัวดูใกล้เคียงกัน ทำให้พลาดได้ง่าย
ใช้ตัวช่วยนี้เอามาเทียบเพื่อดูเบื้องต้นว่ามีอะไรแตกต่าง หาข้อบกพร่องด้วยตัวเองเบื้องต้นแบบง่ายๆ
|
|
|
|
|
Date :
2024-03-25 22:37:29 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไมไม่ ใช้ปุ่ม OK เป็น confirm?
Code (PHP)
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
cancelButtonText: "No, cancel plx!",
closeOnConfirm: false,
closeOnCancel: false
},
function(isConfirm){
if (isConfirm) {
swal("Deleted!", "Your imaginary file has been deleted.", "success");
} else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
}
});
isConfirm ก็ชี้ไปที่ function จะ fetch หรือ axios หรือ ajax ก็ตามถนัด
|
|
|
|
|
Date :
2024-03-27 15:50:21 |
By :
Guest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|