วันศุกร์ที่ 27 ธันวาคม พ.ศ. 2567

ดึงรายงาน จากระบบจองห้องแลป

 SELECT 
  r.id, r.name AS room_name,
COUNT(CASE WHEN YEAR(b.begin) = 2023 THEN b.id END) AS bookings_2023,
 COUNT(CASE WHEN YEAR(b.begin) = 2023 AND b.status = 1 THEN 1 END) AS approved_2023, COUNT(CASE WHEN YEAR(b.begin) = 2023 AND b.status = 0 THEN 1 END) AS pending_2023, COUNT(CASE WHEN YEAR(b.begin) = 2024 THEN b.id END) AS bookings_2024, 
COUNT(CASE WHEN YEAR(b.begin) = 2024 AND b.status = 1 THEN 1 END) AS approved_2024, COUNT(CASE WHEN YEAR(b.begin) = 2024 AND b.status = 0 THEN 1 END) AS pending_2024 FROM booking_rooms r LEFT JOIN booking_reservation b ON b.room_id = r.id WHERE r.published = 1 GROUP BY r.id, r.name ORDER BY r.name;

วันพุธที่ 25 ธันวาคม พ.ศ. 2567

วันจันทร์ที่ 9 ธันวาคม พ.ศ. 2567

xampp Error: MySQL shutdown unexpectedly. 09:38:08 [mysql] This may be due to a blocked port, missing dependencies,

 

  1. Rename folder mysql/data to mysql/data_old
  2. Make a copy of mysql/backup folder and name it as mysql/data
  3. Copy all your database folders from mysql/data_old into mysql/data (except mysqlperformance_schema, and phpmyadmin folders)
  4. Copy mysql/data_old/ibdata1 file into mysql/data folder
  5. Start MySQL from XAMPP control panel

วันอาทิตย์ที่ 1 ธันวาคม พ.ศ. 2567

send email by apps script from google sheet

A1 email

B1 name

C1 username

D1 passsword

function sendEmails() {
  // เปิด Sheet ที่กำลังใช้งาน
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues(); // ดึงข้อมูลทั้งหมดจาก Sheet
 
  // เริ่มจากแถวที่ 2 (ข้ามหัวตาราง)
  for (let i = 1; i < data.length; i++) {
    const email = data[i][0];    // คอลัมน์ Email
    const name = data[i][1];     // คอลัมน์ Name
    const username = data[i][2]; // คอลัมน์ Username
    const password = data[i][3]; // คอลัมน์ Password
   
    const subject = `รหัสสำหรับการใช้งานเครือข่ายอินเตอร์เน็ต`; // หัวข้ออีเมล
   
    // สร้างข้อความ HTML สำหรับอีเมล
    const message = `
      <p>เรียนคุณ ${name},</p>
      <p>แจ้งรหัสการเชื่อมต่อระบบเครือข่ายไร้สายเฉพาะบุคคล:</p>
      <p>กลุ่ม WIFI-BCN-STUDENT</p>
      <p><strong>Username:</strong> ${username}<br>
      <strong>Password:</strong> ${password}</p>
      <p>โปรดเก็บข้อมูลนี้ไว้เป็นความลับ</p>
      <p>เงื่อนไข สามารถเชื่อมต่อได้ 3 อุปกรณ์พร้อมกันแบบไม่จำกัดเวลา โดยระบบจะทำการเก็บข้อมูลในรูปแบบ Log File จากการใช้งานทั้งหมด ตาม พรบ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ.2550,<br><strong>ขอแสดงความนับถือ</strong> <br> งานเทคโนโลยีสารสนเทศและประชาสัมพันธ์</p>
    `;

    // ส่งอีเมลแบบ HTML
    GmailApp.sendEmail(email, subject, '', {htmlBody: message});

    // อัปเดตสถานะการส่งอีเมล (ไม่บังคับ)
    sheet.getRange(i + 1, 5).setValue("Sent");  // แถวปัจจุบัน, คอลัมน์ที่ 5 (ใส่คอลัมน์สำหรับสถานะในคอลัมน์ E)
  }
}


วันจันทร์ที่ 26 สิงหาคม พ.ศ. 2567

สร้างไฟล์เอ็กเซลเพื่อนำเข้าอีเมล์

 สูตร  =F1&"."&CONCATENATE(LEFT(G1,1))&"@โดเมน"   จะได้ ชื่อ.ตัวแรกนามสกุล

    -F1  ชื่อ
    -G1 นามสกุล 


excel extrac name lastname แยกชื่อ นามสกุล เอ็กเซ็ล

 excel  extrac name lastname แยกชื่อ นามสกุล เอ็กเซ็ล

ถ้ามีไฟล์เอ็กเซ็ลที่ ชื่อ และนามสกุลอยู่ในคอลัมเดียวกัน 

1.เลือกคอลัมที่ต้องการ

2.ไปที่ เมนู ดาต้า 

3.เลือก Text to Columns

4.เลือก Tab  และ space



5.Finish



วันพุธที่ 27 มีนาคม พ.ศ. 2567

ย้ายหมวดวิชา ระบบทะเบียน

 1 ดูรหัสหมวดจากตาราง rg_course

2.เอารหัสที่ได้ไปค้นหาวิชาในตาราง rg_courseOpen เปลี่ยนที่ coCdid1

วันพุธที่ 13 มีนาคม พ.ศ. 2567

ถ้าจะเขียนระบบขึ้นมา สัก 1 ระบบ ขั้นตอน Process ยังไงกันบ้าง

 การเขียนระบบขึ้นมาสักระบบ มี Process หลัก ๆ ดังนี้ ส่วนถ้าในแง่การพัฒนาระบบให้ดูเรื่อง ของ SDLC (Software Development Life Cycle)

1. กำหนดความต้องการของระบบ
- ระบุปัญหาที่ต้องการแก้ไข
- กำหนดเป้าหมายและวัตถุประสงค์ของระบบ
- ระบุกลุ่มผู้ใช้งาน
- กำหนดฟังก์ชันการทำงานที่ต้องการ
- กำหนดข้อจำกัดของระบบ
2. ออกแบบระบบ
- ออกแบบสถาปัตยกรรมระบบ
- ออกแบบฐานข้อมูล
- ออกแบบหน้าจอผู้ใช้งาน
- ออกแบบอัลกอริทึม
- เขียนผังงาน
3. พัฒนาและทดสอบระบบ
- เขียนโปรแกรม
- ทดสอบระบบ
- แก้ไขข้อผิดพลาด
4. ติดตั้งและใช้งานระบบ
- ติดตั้งระบบบนเซิร์ฟเวอร์
- ฝึกอบรมผู้ใช้งาน
- ดูแลรักษาระบบ
5. บำรุงรักษาระบบ
- แก้ไขข้อผิดพลาดที่เกิดขึ้น
- พัฒนาฟังก์ชันการทำงานเพิ่มเติม
- อัปเดตระบบให้ทันสมัย
เครื่องมือที่ใช้ในการเขียนระบบ
- ภาษาโปรแกรม เช่น Java, Python, PHP
- เฟรมเวิร์ก เช่น Spring Boot, Django, Laravel
- ฐานข้อมูล เช่น MySQL, PostgreSQL, MongoDB
- เครื่องมือออกแบบระบบ เช่น UML, ERD
- เครื่องมือทดสอบระบบ เช่น JUnit, Selenium
ระยะเวลาในการเขียนระบบ
ขึ้นอยู่กับความซับซ้อนของระบบ ฟังก์ชันการทำงาน จำนวนผู้ใช้งาน และทรัพยากรที่มี โดยทั่วไประบบขนาดเล็กอาจใช้เวลาเพียงไม่กี่สัปดาห์ แต่ระบบขนาดใหญ่ อาจใช้เวลาหลายเดือนหรือหลายปี
ข้อควรระวังในการเขียนระบบ
1. การวิเคราะห์ความต้องการของระบบอย่างละเอียด
2. การออกแบบระบบอย่างรอบคอบ
3. การทดสอบระบบอย่างเข้มงวด
4. การวางแผนการบำรุงรักษาระบบ
ที่มา จากเฟสบุ๊กกลุ่มนักพเขียนโปรแกรมโดยคุณSuksan Junior