10/03/2024

Function Checkbox checked by scrip.

 Function Checkbox checked by scrip.

  1. <!DOCTYPE html>
  2. <html>
  3.     <title>Test</title>
  4.     <meta charset="UTF-8">
  5.  
  6.     <body>
  7.         <div align='center'>
  8.             <form id="myForm" align='center'>
  9.                 <label><input type="checkbox" name="OD" id="OD" value="1" onchange="CheckedBox(this.value)"> ฝพอ.</label><br>
  10.                 <label><input type="checkbox" name="IF" id="IF" value="2" onchange="CheckedBox(this.value)"> ฝบง.</label><br>
  11.                 <label><input type="checkbox" name="DS" id="DS" value="3" onchange="CheckedBox(this.value)"> ฝอบ.</label><br>
  12.                 <br><hr>
  13.             </form>
  14.             <br>
  15.             <form id="myForm2" align='center'>
  16.                 <label><input type="checkbox" name="checkbox3" id="checkbox3" value=""> หน.งทส.</label><br>
  17.                 <label><input type="checkbox" name="checkbox4" id="checkbox4" value=""> หน.งพม.</label><br>
  18.                 <label><input type="checkbox" name="checkbox5" id="checkbox5" value=""> หน.งสป.</label><br>
  19.                 <label><input type="checkbox" name="checkbox6" id="checkbox6" value=""> หน.งบง.</label><br>
  20.                 <label><input type="checkbox" name="checkbox7" id="checkbox7" value=""> หน.งอบ 1.</label><br>
  21.                 <label><input type="checkbox" name="checkbox8" id="checkbox8" value=""> หน.งอบ 2.</label><br>
  22.             </form>
  23.         </div> 
  24.         <script></script>
  25.     </body>
  26. </html>

  1.  
  2.     function CheckedBox(value) {
  3.             if(value == 1){
  4.                 if(document.getElementById("OD").checked){
  5.                     document.getElementById("checkbox3").checked = true;
  6.                     document.getElementById("checkbox4").checked = true;
  7.                     document.getElementById("checkbox5").checked = true;
  8.                 } else {
  9.                     document.getElementById("checkbox3").checked = false;
  10.                     document.getElementById("checkbox4").checked = false;
  11.                     document.getElementById("checkbox5").checked = false;
  12.                 }
  13.             } else if (value == 2){
  14.                 if(document.getElementById("IF").checked){
  15.                     document.getElementById("checkbox6").checked = true;   
  16.                 } else {
  17.                     document.getElementById("checkbox6").checked = false;
  18.                 }
  19.  
  20.             } else if (value == 3){
  21.                 if(document.getElementById("DS").checked){
  22.                     document.getElementById("checkbox7").checked = true;
  23.                     document.getElementById("checkbox8").checked = true;   
  24.                 } else {
  25.                     document.getElementById("checkbox7").checked = false;
  26.                     document.getElementById("checkbox8").checked = false;                      
  27.                 }
  28.             } else {
  29.                 document.getElementById("OD").checked = false;
  30.                 document.getElementById("IF").checked = false;
  31.                 document.getElementById("DS").checked = false;
  32.                 document.getElementById("checkbox3").checked = false;
  33.                 document.getElementById("checkbox4").checked = false;
  34.                 document.getElementById("checkbox5").checked = false;
  35.                 document.getElementById("checkbox6").checked = false;
  36.                 document.getElementById("checkbox7").checked = false;
  37.                 document.getElementById("checkbox8").checked = false;
  38.             }   
  39.         }  

Code function validate Input number in textbox only.

 

Code function validate Input number in textbox only.
html
  1. <input type="text" id="test_id" name="test" value="" oninput="validateInput(event)">

js function

  1. function validateInput(event) {
  2.    var input = event.target.value;
  3.    if (!/^[0123456789 ]*$/.test(input)) {
  4.       event.target.value = input.replace(/[^0123456789 ]/g, '');
  5.    }
  6. }

PHP : Code get all supervisor to Checkbox.

 PHP : Code get all supervisor to Checkbox.

$SQL="SELECT EmpEmail, PositionCalled FROM sci._employees ";
$SQL.=" LEFT JOIN sci._positions ON _positions.PositionCode=_employees.PositionCode";
$SQL.=" LEFT JOIN sci._sections ON _sections.SectionId=_positions.SectionId";
$SQL.=" LEFT JOIN sci._departs ON _departs.DepartId=_sections.DepartId";
$SQL.=" WHERE _employees.isEnabled = 'Y'";
$SQL.=" AND sci._employees.LevelPriority ='6'";
$SQL.=" ORDER BY _departs.DepartId,EmpId";
$NumRows=$myDB->Query($SQL);
 
$SupervisorSelect ="<b>หน.งาน</b><br><table border='0' width='100%'><tr>";
$i = 0;
$mod = 0;
while($row=$myDB->GetRow()){
    $mod = $i % 8; //### แบ่งแถวล่ะกี่ Checkbox
    if($mod == 0 && $i>0){
        $SupervisorSelect.="</tr><tr>";
    }
    $SupervisorSelect.="<td><input type='checkbox' name='SupervisorList[]' value='".$row["EmpEmail"]."'>".tis2utf8($row["PositionCalled"])."</td>";
    $i++;
}
$SupervisorSelect.="</table>";

7/20/2024

Docker on debian12

https://intranet.scivalve.com/blog.php?u=3&b=1953

https://docs.docker.com/desktop/install/debian/
1. ติดตั้ง Debian12
2. เตรียมติดตั้ง Docker
  1. for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done


  1. sudo apt-get update
  2. sudo apt-get install ca-certificates curl
  3. sudo install -m 0755 -d /etc/apt/keyrings
  4. sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc


# Add the repository to Apt sources: bookworm คือ VERSION_CODENAME ของ OS แต่ละรุ่น
  1. echo \
  2.   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  3.   $(. /etc/os-release && echo "bookworm") stable" | \
  4.   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  1. sudo apt-get update
  2. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. docker run hello-world
  4. docker version


3. สร้าง file
  1. mkdir php
  2. cd php
  3. nano docker-compose.yml


PHP+DB+phpmyadmin เพิ่มข้อมูล
version: "3.8"
services:
php-apache-environment:
container_name: php-apache
build:
context: ./
dockerfile: Dockerfile
depends_on:
- db
volumes:
- ./:/var/www/html/
ports:
- 8001:80

db:
container_name: db
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD
MYSQL_DATABASE: MYSQL_DATABASE
MYSQL_USER: MYSQL_USER
MYSQL_PASSWORD: MYSQL_PASSWORD
ports:
- "8002:3306"

phpmyadmin:
container_name: phpmyadmin
image: phpmyadmin/phpmyadmin
ports:
- "8003:80"
restart: always
environment:
PMA_HOST: db
depends_on:
- db


ในไฟล์ docker-compose.yml เป็นตัวตั้งค่านำไปใช้ใน โปรแกรม เช่น
database name คือ db
User Password อยู่ที่ environment
ports ต่าง ๆ สามารถเปลี่ยนได้ เช่น 8001 คือ web apache, 8003 คือ phpmyadmin


4. สร้าง Dockerfile ชื่อต้องตรงกันกับในไฟล์ docker-compose.yml version php สามารถเปลี่ยนตามที่เราต้องการ
FROM php:8.2-apache
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
RUN apt-get update && apt-get upgrade -y

คำสั่ง
  1. sudo docker compose up #เริ่มทำงาน
  2. sudo docker compose down #หยุดทำงาน
  3. sudo docker compose pull #update
  4. sudo docker compose up -d #เริ่มทำงานแบบ daemon


  1. sudo docker ps #เรียกดูรายการ process ที่กำลังทำงานอยู่
  2. sudo docker exec -it [ID] bash #เรียกใช้คำสั่งภายใน container


5. เตรียม Folder web
  1. chown www-data:www-data -r /php
  2. chmod 775 -r /php


ใน 1 เครื่อง CT ประกอบด้วย 3 Image
ดู ID ของแต่ละเครื่อง
  1. docker ps

เข้าไปแต่ละเครื่อง bash คือโปรแกรมที่ต้องการใช้งาน
  1. docker exec -it 1d6f98697fba bash

ตั้งเวลาของแต่ละ Image
  1. dpkg-reconfigure tzdata


6. เปิด root ให้สามารถ เข้า ssh ได้ จะได้เข้าได้หลาย ๆ User หรือจะเพิ่ม User เอาก็ได้
  1. nano /etc/ssh/sshd_config

เพิ่มไว้ท้ายสุด
PermitRootLogin yes
  1. /etc/init.d/ssh restart


เพิ่ม User
  1. adduser sa

6/22/2024

Ubuntu คำสั่งหา File ที่ซ้ำกัน ข้อมูลซ้ำกัน

 

Ubuntu คำสั่งหา File ที่ซ้ำกัน ข้อมูลซ้ำกัน
ด้วยโปรแกรม fdupes
https://itsfoss.com/find-duplicate-files-linux/

ติดตั้งโปรแกรมด้วยคำสั่ง
  1. sudo apt install fdupes

ใช้งาน
  1. fdupes /path/to/folder

เช่น
  1. fdupes -r /home

หรือเข้าไปที่ Folder ที่ต้องการก่อน
  1. fdupes -r . > fdupes.text

เช่น