สอบถามเรื่อง fullcalendar ครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเรื่อง fullcalendar ครับ

สอบถามเรื่อง fullcalendar ครับ
ก่อนอิ่นต้องขอขอบคุณที่่เจอเวบนี้ครับ พอดีผมใช้ fullcalendar กำลังมือใหม่ งงๆ กับมัน ครับ
พอดีจะสอบถามว่า อ้างอิงจาก  https://www.ninenik.com/การตั้งค่าปฏิทินกิจกรรม_fullcalendar_อัพเดทปี_2020_ตอนที่5-979.html ครับ แต่ผมมีการปรับเปลี่ยนนิดนึงให้เข้ากับงานผมคือฐานข้อมูลไม่ได้เซทมาให้เหมือนกันกับของ ทาง fullcalendar และทีนี้ผมประสบปัญหา เดียวที่เหลืออยู่ตอนนี้คือ
ตอนที่จะดึงข้อมูลมาแสดงใน modal ตรงบรรทัด 
$("#calendarmodal-title").html(event.title);
$("#calendarmodal-detail").html("fdsfas");// ข้อมูลเพิ่มเติมจะเรียกผ่าน extendedProps

ปรากฏว่า เกิด error ขึ้น ว่า Cannot read property 'title' of null
ผมเลยอยากทราบว่า
1.title ของ event.title นี้ เป็นการดึง title ของ ตารางในฐานข้อมูล หรือ เอาข้อมูลจาก JSON มาใช้อะครับ


Pornchai Chiewpanyathong 01-05-2021 23:26:48

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

สอบถามเพิ่มเติมอีกนิดครับว่า
ใน events.php?gdata=1
gdata ไว้ส่งข้อมูลไปไหนอะครับหาไม่เจอ
และ

if(isset($_GET['callback']) && $_GET['callback']!=""){    
        echo $_GET['callback']."(".$json.");";

หมายความว่ายังไงอะครับใส่ไว้เพื่ออะไรหรือครับ


pornchai chiewpanyathong 01-05-2021 23:51
 ความคิดเห็นที่ 2
event.title เป็นข้อมูลที่ได้จาก api ของ fullcalendar ซึ่งข้อมูลก็มาจาก json 
ที่ถูกแปลงมาจากฐานข้อมูลอีกที นั่นคือข้อมูลทั้งหมดสัมพันธ์กัน
ข้อมูลจากฐานข้อมูลที่เรามี ถูกนำมาจัดรูปแบบให้ใช้งานกับ fullcalendar ผ่าน json ไฟล์
ส่วนในขั้นตอนการเรียกใช้งานที่ผ่านคำสั่ง event.title ก็คือการใช้งานผ่าน api หรือชุด
โปรแกรมคำสั่งของ fullcalenar
 
function viewdetail(id){
  // ก่อนที่ modal จะแสดง
  $('#calendarmodal').on('show.bs.modal', function (e) {
    var event = calendar.getEventById(id) // ดึงข้อมูล ผ่าน api
    $("#calendarmodal-title").html(event.title);
    $("#calendarmodal-detail").html(event.extendedProps.detail);// ข้อมูลเพิ่มเติมจะเรียกผ่าน extendedProps
  });              
  $("#calendarmodal").modal();// แสดง modal
}
 
คำถามที่ว่า
title ของ event.title นี้ เป็นการดึง title ของ ตารางในฐานข้อมูล หรือ เอาข้อมูลจาก JSON มาใช้อะครับ
ก็คือเป็นข้อมูลจาก calendar object ที่ได้มาจากข้อมูล JSON ที่ถูกแปลงมาจากฐานข้อมูล
 
ส่วนโค้ดที่เกี่ยวกับการกำหนด callback จะใช้สำหรับสร้างไฟล์ json ที่รองรับการใช้งาน jsonp 
ลองดูลิ้งด้านล่างประกอบ ถ้าเราไม่ได้ใช้งานก็ตัดออกได้ เหลือแค่
 
// แปลง array เป็นรูปแบบ json string  
if(isset($json_data)){  
    $json= json_encode($json_data);    
    echo $json;    
}
 


>>>  อัพเดท >>> 02-05-2021
------------------------------------------
ปัญหาที่ event.title เป็น null อาจจะเป็นเพราะ ไม่มี calendar object ซึ่งน่าจะมา
จากการกำหนดหรืออ้างอิง ตัวแปร calendar ไม่ได้เป็นแบบ global หรือมีขอบเขต
การกำหนดตัวแปร โดยเฉพาะการวางตำแหน่งการกำหนดตัวแปร ลองดูโค้ดตัวอย่าง
ให้ละเอียดอีกครั้ง แล้วปรับประยุกต์ดู


บทความแนะนำที่เกี่ยวข้อง
สร้างไฟล์ json จากฐานข้อมูล รองรับการใช้งาน jsonp callbackอ่าน 20,910
การแสดงข้อมูลเพิ่มเติม ใน fullcalendar อัพเดทปี 2020 ตอนที่ 5อ่าน 10,510
ninenik 02-05-2021
 ความคิดเห็นที่ 3
ปัญหานี้ผมก็คิดไว้แล้วครับ กลับไปเช็คมาเรียบร้อยตัวแปรก็เป็น global แล้วแต่ก็ไม่ได้อยู่ดี


gg1619885970 02-05-2021 13:45
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ