403Webshell
Server IP : 104.21.80.248  /  Your IP : 172.71.28.155
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  E:/Inetpub/www/education/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : E:/Inetpub/www/education//add_data.php
<?php
require_once 'config.php';
check_login();

if($_SESSION['user_type'] != 'school') {
    header("Location: dashboard.php");
    exit();
}

$page_title = "เพิ่มข้อมูล - ระบบจัดการข้อมูลการเรียนต่อ สพม.ราชบุรี";

$success_message = "";
$error_message = "";
$current_year = get_current_academic_year();
$user_id = $_SESSION['user_id']; // Get user_id once

// --- Retrieve existing work count for current academic year ---
$existing_work_count = 0; // Default to 0 if no data exists
$sql_check_work = "SELECT student_count FROM student_work WHERE user_id = $user_id AND academic_year = '$current_year'";
$result_check_work = mysqli_query($conn, $sql_check_work);
if ($result_check_work && mysqli_num_rows($result_check_work) > 0) {
    $row_work = mysqli_fetch_assoc($result_check_work);
    $existing_work_count = $row_work['student_count'];
}
// -----------------------------------------------------------

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $data_type = secure_input($_POST['data_type']);
    
    if($data_type == 'work') {
        $student_count = secure_input($_POST['student_count']);
        
        if(!empty($student_count) && is_numeric($student_count) && $student_count >= 0) { // Allow 0 to clear data if needed
            // Check if data for current year already exists for this user
            $sql_check_existing = "SELECT id FROM student_work WHERE user_id = $user_id AND academic_year = '$current_year'";
            $result_existing = mysqli_query($conn, $sql_check_existing);

            if ($result_existing && mysqli_num_rows($result_existing) > 0) { // Data exists, update it
                $work_id = mysqli_fetch_assoc($result_existing)['id'];
                $sql = "UPDATE student_work SET student_count = $student_count WHERE id = $work_id";
            } else { // No data exists, insert new
                $sql = "INSERT INTO student_work (user_id, student_count, academic_year) 
                        VALUES ($user_id, $student_count, '$current_year')";
            }
            
            if(mysqli_query($conn, $sql)) {
                $success_message = "บันทึกข้อมูลการประกอบอาชีพเรียบร้อยแล้ว";
                $existing_work_count = $student_count; // Update the displayed value immediately
            } else {
                $error_message = "เกิดข้อผิดพลาดในการบันทึกข้อมูล: " . mysqli_error($conn);
            }
        } else {
            $error_message = "กรุณากรอกจำนวนนักเรียนที่ถูกต้อง (ต้องเป็นตัวเลขและไม่ติดลบ)";
        }
    } else if($data_type == 'continue') {
        // Handle uni_id, faculty_id, field_id - add if not exists
        $uni_name = secure_input($_POST['uni_name_input']);
        $faculty_name = secure_input($_POST['faculty_name_input']);
        $field_name = secure_input($_POST['field_name_input']);
        $student_count = secure_input($_POST['student_count']);

        $uni_id = get_or_create_id($conn, 'uni_name', $uni_name);
        $faculty_id = get_or_create_id($conn, 'faculty_name', $faculty_name);
        $field_id = get_or_create_id($conn, 'field_name', $field_name);
        
        if($uni_id && $faculty_id && $field_id && 
           !empty($student_count) && is_numeric($student_count) && $student_count > 0) {
            
            $sql = "INSERT INTO student_continue_study (user_id, uni_id, faculty_id, field_id, student_count, academic_year) 
                    VALUES ($user_id, $uni_id, $faculty_id, $field_id, $student_count, '$current_year')";
            
            if(mysqli_query($conn, $sql)) {
                $success_message = "บันทึกข้อมูลการเรียนต่อเรียบร้อยแล้ว";
            } else {
                $error_message = "เกิดข้อผิดพลาดในการบันทึกข้อมูล: " . mysqli_error($conn);
            }
        } else {
            $error_message = "กรุณากรอกข้อมูลให้ครบถ้วนและถูกต้อง";
        }
    }
}

// Function to get ID from name, or create new entry and return ID
function get_or_create_id($conn, $table_name, $name) {
    $sql = "SELECT id FROM $table_name WHERE name = '$name'";
    $result = mysqli_query($conn, $sql);
    if($row = mysqli_fetch_assoc($result)) {
        return $row['id'];
    } else {
        $sql_insert = "INSERT INTO $table_name (name) VALUES ('$name')";
        if(mysqli_query($conn, $sql_insert)) {
            return mysqli_insert_id($conn);
        } else {
            return false;
        }
    }
}

// ดึงข้อมูลสำหรับ dropdown (initial load, not used for AJAX search)
// We will now rely on AJAX for dynamic loading, but keep these queries for initial display if needed for validation or pre-population
$unis = mysqli_query($conn, "SELECT * FROM uni_name ORDER BY name");
$faculties = mysqli_query($conn, "SELECT * FROM faculty_name ORDER BY name");
$fields = mysqli_query($conn, "SELECT * FROM field_name ORDER BY name");

include 'template/header.php';
?>

<div class="container-fluid main-content">
    <div class="row">
        <div class="col-md-3 col-lg-2 px-0">
            <div class="sidebar">
                <div class="p-3">
                    <h6 class="text-muted fw-bold mb-3">เมนูหลัก</h6>
                    <nav class="nav flex-column">
                        <a class="nav-link" href="dashboard.php">
                            <i class="bi bi-house me-2"></i>หน้าหลัก
                        </a>
                        <a class="nav-link active" href="add_data.php">
                            <i class="bi bi-plus-circle me-2"></i>เพิ่มข้อมูล
                        </a>
                        <a class="nav-link" href="view_data.php?type=<?php echo encode_url('continue'); ?>">
                            <i class="bi bi-mortarboard me-2"></i>ข้อมูลการเรียนต่อ
                        </a>
                        <a class="nav-link" href="view_data.php?type=<?php echo encode_url('work'); ?>">
                            <i class="bi bi-briefcase me-2"></i>ข้อมูลการประกอบอาชีพ
                        </a>
                    </nav>
                </div>
            </div>
        </div>
        
        <div class="col-md-9 col-lg-10">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12">
                        <h2 class="text-white mb-4">
                            <i class="bi bi-plus-circle me-2"></i>
                            เพิ่มข้อมูล
                        </h2>
                    </div>
                </div>
                
                <?php if($success_message): ?>
                    <div class="alert alert-success">
                        <i class="bi bi-check-circle me-2"></i>
                        <?php echo $success_message; ?>
                    </div>
                <?php endif; ?>
                
                <?php if($error_message): ?>
                    <div class="alert alert-danger">
                        <i class="bi bi-exclamation-triangle me-2"></i>
                        <?php echo $error_message; ?>
                    </div>
                <?php endif; ?>
                
                <div class="row mb-4">
                    <div class="col-12">
                        <div class="card">
                            <div class="card-header">
                                <h5 class="mb-0">
                                    <i class="bi bi-list me-2"></i>
                                    เลือกประเภทข้อมูล
                                </h5>
                            </div>
                            <div class="card-body">
                                <div class="row">
                                    <div class="col-md-6 mb-3">
                                        <button type="button" class="btn btn-outline-primary w-100 py-4" onclick="showForm('continue')">
                                            <i class="bi bi-mortarboard me-2" style="font-size: 2rem;"></i><br>
                                            <strong>เพิ่มข้อมูลการเรียนต่อ</strong><br>
                                            <small>บันทึกข้อมูลนักเรียนที่เรียนต่อในระดับอุดมศึกษา</small>
                                        </button>
                                    </div>
                                    <div class="col-md-6 mb-3">
                                        <button type="button" class="btn btn-outline-success w-100 py-4" onclick="showForm('work')">
                                            <i class="bi bi-briefcase me-2" style="font-size: 2rem;"></i><br>
                                            <strong>เพิ่มข้อมูลการประกอบอาชีพ</strong><br>
                                            <small>บันทึกข้อมูลนักเรียนที่ประกอบอาชีพ</small>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                
                <div id="continueForm" class="row" style="display: none;">
                    <div class="col-12">
                        <div class="card">
                            <div class="card-header">
                                <h5 class="mb-0">
                                    <i class="bi bi-mortarboard me-2"></i>
                                    เพิ่มข้อมูลการเรียนต่อ
                                </h5>
                            </div>
                            <div class="card-body">
                                <form method="POST" id="continueStudyForm">
                                    <input type="hidden" name="data_type" value="continue">
                                    
                                    <div class="row">
                                        <div class="col-md-6 mb-3">
                                            <label for="uni_name_input" class="form-label">มหาวิทยาลัย/สถาบัน</label>
                                            <input type="text" class="form-control" id="uni_name_input" name="uni_name_input" placeholder="พิมพ์ชื่อมหาวิทยาลัยเพื่อค้นหาหรือเพิ่มใหม่" required>
                                            <div id="uni_name_suggestions" class="list-group position-absolute" style="z-index: 1000;"></div>
                                        </div>
                                        
                                        <div class="col-md-6 mb-3">
                                            <label for="faculty_name_input" class="form-label">คณะ</label>
                                            <input type="text" class="form-control" id="faculty_name_input" name="faculty_name_input" placeholder="พิมพ์ชื่อคณะเพื่อค้นหาหรือเพิ่มใหม่" required>
                                            <div id="faculty_name_suggestions" class="list-group position-absolute" style="z-index: 1000;"></div>
                                        </div>
                                    </div>
                                    
                                    <div class="row">
                                        <div class="col-md-8 mb-3">
                                            <label for="field_name_input" class="form-label">สาขาวิชา</label>
                                            <input type="text" class="form-control" id="field_name_input" name="field_name_input" placeholder="พิมพ์ชื่อสาขาวิชาเพื่อค้นหาหรือเพิ่มใหม่" required>
                                            <div id="field_name_suggestions" class="list-group position-absolute" style="z-index: 1000;"></div>
                                        </div>
                                        
                                        <div class="col-md-4 mb-3">
                                            <label for="student_count_continue" class="form-label">จำนวนนักเรียน (คน)</label>
                                            <input type="number" class="form-control" id="student_count_continue" name="student_count" min="1" required>
                                        </div>
                                    </div>
                                    
                                    <div class="d-flex gap-2">
                                        <button type="submit" class="btn btn-primary">
                                            <i class="bi bi-save me-2"></i>บันทึกข้อมูล
                                        </button>
                                        <button type="button" class="btn btn-secondary" onclick="hideForm()">
                                            <i class="bi bi-x-circle me-2"></i>ยกเลิก
                                        </button>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
                
                <div id="workForm" class="row" style="display: none;">
                    <div class="col-12">
                        <div class="card">
                            <div class="card-header">
                                <h5 class="mb-0">
                                    <i class="bi bi-briefcase me-2"></i>
                                    เพิ่มข้อมูลการประกอบอาชีพ
                                </h5>
                            </div>
                            <div class="card-body">
                                <form method="POST" id="workStudentForm">
                                    <input type="hidden" name="data_type" value="work">
                                    
                                    <div class="row">
                                        <div class="col-md-6 mb-3">
                                            <label for="student_count_work" class="form-label">จำนวนนักเรียนที่ประกอบอาชีพ (คน)</label>
                                            <input type="number" class="form-control" id="student_count_work" name="student_count" min="0" required value="<?php echo $existing_work_count; ?>">
                                        </div>
                                    </div>
                                    
                                    <div class="alert alert-info">
                                        <i class="bi bi-info-circle me-2"></i>
                                        ข้อมูลนี้จะบันทึกเป็นจำนวนนักเรียนที่ประกอบอาชีพในปีการศึกษา <?php echo $current_year; ?>
                                    </div>
                                    
                                    <div class="d-flex gap-2">
                                        <button type="submit" class="btn btn-success">
                                            <i class="bi bi-save me-2"></i>บันทึก/แก้ไขข้อมูล
                                        </button>
                                        <button type="button" class="btn btn-secondary" onclick="hideForm()">
                                            <i class="bi bi-x-circle me-2"></i>ยกเลิก
                                        </button>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
function showForm(type) {
    hideForm();
    
    if(type === 'continue') {
        document.getElementById('continueForm').style.display = 'block';
    } else if(type === 'work') {
        document.getElementById('workForm').style.display = 'block';
    }
    
    // Smooth scroll to form
    setTimeout(() => {
        document.querySelector('#' + type + 'Form').scrollIntoView({ 
            behavior: 'smooth',
            block: 'start'
        });
    }, 100);
}

function hideForm() {
    document.getElementById('continueForm').style.display = 'none';
    document.getElementById('workForm').style.display = 'none';
}

// Form validation (you might want to enhance this with more specific validation)
document.addEventListener('DOMContentLoaded', function() {
    const forms = document.querySelectorAll('form');
    forms.forEach(form => {
        form.addEventListener('submit', function(e) {
            // No specific client-side validation added here for dropdowns, 
            // as new values can be added. Server-side validation is crucial.
            // You can add basic validation like checking if student_count is valid.
            const formId = this.id;
            if (formId === 'continueStudyForm' || formId === 'workStudentForm') { // Changed workForm to workStudentForm
                const studentCountInput = this.querySelector('input[name="student_count"]');
                if (studentCountInput && (studentCountInput.value === '' || parseInt(studentCountInput.value) < 0)) { // Changed <=0 to <0 to allow 0
                    e.preventDefault();
                    alert("กรุณากรอกจำนวนนักเรียนที่ถูกต้องและไม่ติดลบ");
                }
            }
        });
    });

    // Autocomplete functionality
    function setupAutocomplete(inputId, suggestionsId, tableName) {
        const input = document.getElementById(inputId);
        const suggestionsDiv = document.getElementById(suggestionsId);

        input.addEventListener('input', function() {
            const query = this.value;
            if (query.length < 2) { // Start searching after 2 characters
                suggestionsDiv.innerHTML = '';
                return;
            }

            fetch('fetch_suggestions.php?table=' + tableName + '&query=' + query)
                .then(response => response.json())
                .then(data => {
                    suggestionsDiv.innerHTML = '';
                    if (data.length > 0) {
                        data.forEach(item => {
                            const suggestionItem = document.createElement('a');
                            suggestionItem.href = '#';
                            suggestionItem.classList.add('list-group-item', 'list-group-item-action');
                            suggestionItem.textContent = item.name;
                            suggestionItem.addEventListener('click', function(e) {
                                e.preventDefault();
                                input.value = item.name;
                                suggestionsDiv.innerHTML = '';
                            });
                            suggestionsDiv.appendChild(suggestionItem);
                        });
                    } else {
                        // Optional: Display a message if no suggestions found
                        // const noResult = document.createElement('div');
                        // noResult.classList.add('list-group-item');
                        // noResult.textContent = 'ไม่พบข้อมูล. จะถูกเพิ่มเป็นข้อมูลใหม่.';
                        // suggestionsDiv.appendChild(noResult);
                    }
                })
                .catch(error => console.error('Error fetching suggestions:', error));
        });

        // Hide suggestions when clicking outside
        document.addEventListener('click', function(e) {
            if (!input.contains(e.target) && !suggestionsDiv.contains(e.target)) {
                suggestionsDiv.innerHTML = '';
            }
        });
    }

    setupAutocomplete('uni_name_input', 'uni_name_suggestions', 'uni_name');
    setupAutocomplete('faculty_name_input', 'faculty_name_suggestions', 'faculty_name');
    setupAutocomplete('field_name_input', 'field_name_suggestions', 'field_name');
});
</script>

<?php include 'template/footer.php'; ?>

Youez - 2016 - github.com/yon3zu
LinuXploit