Files
sam-kd/anyvolunteer/index.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

186 lines
12 KiB
PHP

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
include $_SERVER['DOCUMENT_ROOT'] . '/load_header.php';
?>
<title>경동기업 IT 지원자 명단</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.table thead th {
background-color: #f8f9fa;
text-align: center;
}
.header-title {
font-size: 1.75rem;
font-weight: bold;
}
.sub-title {
font-size: 1.25rem;
margin-bottom: 1rem;
}
.date-display {
font-size: 0.9rem;
color: #666;
}
td, th {
vertical-align: middle !important;
font-size: 0.95rem;
}
</style>
</head>
<body class="bg-light">
<div class="container-fluid my-5">
<div class="d-flex justify-content-between align-items-center mb-3">
<div>
<div class="header-title">경동기업 IT 지원자 명단</div>
<div class="sub-title">1차 지원자 명단</div>
</div>
<div class="d-flex align-items-center">
<div class="date-display me-3" id="currentDate"></div>
<button id="downloadBtn" type="button" class="btn btn-success btn-sm">
<i class="bi bi-file-earmark-spreadsheet"></i> 엑셀다운로드
</button>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-bordered table-hover align-middle">
<thead>
<tr>
<th>순번</th>
<th>1차 면접</th>
<th>이름</th>
<th>성별</th>
<th>나이</th>
<th>연락처</th>
<th>총 경력</th>
<th>거주지</th>
<th>희망연봉</th>
<th style="width: 30%;">경력사항 요약</th>
</tr>
</thead>
<tbody>
<tr><td >1 </td ><td style="text-align:center;"> </td ><td>심영섭</td><td>남</td><td>47세</td><td class="small-text">010-3289-8269<br>sys2808@hanmail.net</td><td>18년 4개월</td><td>인천 서구 마전동</td><td>면접 후 결정</td><td>ERP 온라인/오프라인 결제 및 물류 시스템 개발/운영, 키오스크 예약 및 결제 시스템 Front/Back-End 개발/운영 등 다수 프로젝트 수행.</td></tr>
<tr><td >2 </td ><td style="text-align:center;"> </td ><td>정성진</td><td>남</td><td>50세</td><td class="small-text">010-2273-1470<br>naris74@naver.com</td><td>22년 10개월</td><td>경기 파주시 와동동</td><td>면접 후 결정</td><td>씨네큐브, 한진, MBC, 삼성 갤럭시 이벤트 등 다양한 기업 웹 프로젝트 개발 및 오픈API 연동, ERP 설계/운영 등 총괄 PM 경험.</td></tr>
<tr><td >3 </td ><td style="text-align:center;"> </td ><td>강일구</td><td>남</td><td>49세</td><td class="small-text">010-4000-5522<br>qqeqe.com@gmail.com</td><td>5년</td><td>주소 정보 없음</td><td>면접 후 결정</td><td>수학 콘텐츠 제작, Python FastAPI 사이트 개발, AI 자동화 학습 등 폭넓은 개발 및 강의 경험.</td></tr>
<tr><td >4 </td ><td style="text-align:center;"> </td ><td>권유섭</td><td>미기재</td><td>41세</td><td class="small-text">010-8377-6325<br>seob-seob@naver.com</td><td>13년 9개월</td><td>서울 강북구 인수봉로81길</td><td>면접 후 결정</td><td>Laravel 기반의 기업 내부 시스템(면세, A/S, 회계 등) 100% 자체 개발, 품질 및 구매 시스템 구축 운영.</td></tr>
<tr><td >5 </td ><td style="text-align:center;"> </td ><td>Doniyor Maksudov</td><td>남</td><td>29세</td><td class="small-text">010-8197-1996<br>dh19960322@gmail.com</td><td>3년 5개월</td><td>경기 안양시 만안구 안양동</td><td>면접 후 결정</td><td>React, NestJS 기반 풀스택 웹 서비스 및 AI 기반 웹 서비스 설계·개발 경험 다수.</td></tr>
<tr><td >6 </td ><td style="text-align:center;"> </td ><td>김태윤</td><td>남</td><td>26세</td><td class="small-text">010-5917-3829<br>xodbsrla23@naver.com</td><td>3년 10개월</td><td>서울 마포구 성산동</td><td>3,600만원 이상</td><td>PHP, JavaScript 기반 병원/교육기관/CRM 시스템 리뉴얼 및 유지보수 실무 경험.</td></tr>
<tr><td >7 </td ><td style="text-align:center;"> </td ><td>김성은</td><td>남</td><td>39세</td><td class="small-text">010-7740-0310<br>kse310@gmail.com</td><td>11년 8개월</td><td>서울 노원구 동일로237마길</td><td>6,000만원~7,000만원</td><td>Laravel 및 Node.js 기반 대규모 온라인 서비스 운영, 인증/통계/보안 대응 등 백엔드 경험 풍부.</td></tr>
<tr><td >8 </td ><td style="text-align:center;"> </td ><td>손승희</td><td>여</td><td>36세</td><td class="small-text">010-6602-1216<br>ssh881108@naver.com</td><td>11년 4개월</td><td>서울 강서구 화곡동</td><td>면접 후 결정</td><td>ERP 및 사내 시스템 유지보수와 전산 데이터 시각화 및 모니터링 기능 개발 경험.</td></tr>
<tr><td >9 </td ><td style="text-align:center;"> </td ><td>강명관</td><td>남</td><td>43세</td><td class="small-text">010-6204-5432<br>kr.kevin.kang@gmail.com</td><td>16년 10개월</td><td>경기 부천시 원미동</td><td>면접 후 결정</td><td>쇼핑몰, 관공서, 교육기관, 커스터마이징 프로젝트 경험과 PM 및 API 연동 실무 경험 풍부.</td></tr>
<tr><td >10</td ><td style="text-align:center;"> </td ><td>이재근</td><td>남</td><td>33세</td><td class="small-text">010-7379-0094<br>cho2999@naver.com</td><td>7년 1개월</td><td>경기 김포시 장기동</td><td>5,200만원 이상</td><td>프리랜서 중심의 다양한 쇼핑몰/LMS/웹 서비스 개발, 결제 및 알림톡 API 연동 경험.</td></tr>
<tr><td >11</td ><td style="text-align:center;"> </td ><td>신흥용</td><td>남</td><td>51세</td><td class="small-text">010-9995-2303<br>Esxt002@paran.com</td><td>7년 6개월</td><td>서울시 마포구 월드컵북로 260길</td><td>면접 후 결정</td><td>모바일 게임, GIS, 블록체인 및 다양한 앱·웹 프로젝트 다수 운영, 개발 및 설계 경력.</td></tr>
<tr><td >12</td ><td style="text-align:center;"> </td ><td>박성준</td><td>남</td><td>41세</td><td class="small-text">010-4168-0996<br>popo8402@hanmail.net</td><td>12년 9개월</td><td>경기 파주시 다율동</td><td>면접 후 결정</td><td>강의 및 공공기관 SI 프로젝트 수행, 방송/쇼핑몰/결제 시스템 개발 경험.</td></tr>
<tr><td >13</td ><td style="text-align:center;"> </td ><td>Kudratbek</td><td>남</td><td>28세</td><td class="small-text">010-7901-3883<br>kamoldinovq@gmail.com</td><td>2년 10개월</td><td>경기 오산시 오산동</td><td>면접 후 결정</td><td>풀스택 개발자로서 대시보드, 3D 인터랙션, AI 시스템 등 실시간 서비스 구현 능력 보유.</td></tr>
<tr><td >14</td ><td style="text-align:center;"> </td ><td>박태준</td><td>남</td><td>52세</td><td class="small-text">010-4703-2947<br>cadt@naver.com</td><td>26년</td><td>서울 성북구 종암동</td><td>면접 후 결정</td><td>공공기관, 쇼핑몰, 인사/회계 시스템까지 포괄하는 26년간의 백엔드·DB 설계 경력 보유.</td></tr>
<tr><td >15</td ><td style="text-align:center;"> </td ><td>장효정</td><td>여</td><td>45세</td><td class="small-text">010-3662-7057<br>assaryhj@gmail.com</td><td>19년 7개월</td><td>경기 성남시 수정구 신흥동</td><td>면접 후 결정</td><td>NHN벅스 등에서 음악방송, 채팅, OAuth 서버, Apache 서버 운영 포함한 풀스택 경력 보유.</td></tr>
<tr><td >16</td ><td style="text-align:center;"> </td ><td>권혁성</td><td>남</td><td>46세</td><td class="small-text">010-4820-9104<br>shine1324@gmail.com</td><td>18년 1개월</td><td>인천 부평구 청천동</td><td>면접 후 결정</td><td>Laravel 기반 PM 및 백엔드 업무, DevOps 구성, AWS 운영 포함한 경력 20년의 베테랑.</td></tr>
<tr><td >17</td ><td style="text-align:center;"> </td ><td>김영식</td><td>남</td><td>36세</td><td class="small-text">010-4892-8929<br>rla890209@naver.com</td><td>9년 10개월</td><td>서울 송파구 백제고분로46길</td><td>연봉 5800만원 이상</td><td>전기 데이터 시스템 리뉴얼 및 백엔드 운영, Golang 기반 TCP/IP 소켓 서버 운영 경험.</td></tr>
<tr><td >18</td ><td style="text-align:center;"> </td ><td>박민우</td><td>남</td><td>29세</td><td class="small-text">010-8973-1143<br>positive1attraction@gmail.com</td><td>3년</td><td>경기도 파주시 교하로</td><td>연봉 6000만원 이상</td><td>NodeJS 기반 API 서버 개발, AWS 서버 운영 및 배포 경험 보유.</td></tr>
<tr><td >19</td ><td style="text-align:center;"> </td ><td>박양수</td><td>남</td><td>51세</td><td class="small-text">010-3330-8348<br>pysmill@gmail.com</td><td>23년</td><td>서울 금천구 디지털로12길</td><td>연봉 7000만원 이상</td><td>Java 웹 개발 경험 및 PM 경력 다수 보유.</td></tr>
<tr><td >20</td ><td style="text-align:center;"> </td ><td>정종현</td><td>남</td><td>35세</td><td class="small-text">010-2046-4005<br>digndign07@naver.com</td><td>7년 10개월</td><td>서울 마포구 대흥로4길</td><td>연봉 8000만원 이상</td><td>프론트엔드 개발자, HTML/CSS/JavaScript 기반 프로젝트 담당.</td></tr>
</tbody>
</table>
</div>
</div>
<?php
?>
<script>
// 페이지 로딩
$(document).ready(function(){
var loader = document.getElementById('loadingOverlay');
if(loader)
loader.style.display = 'none';
});
</script>
<script>
document.getElementById('currentDate').textContent =
new Date().toLocaleDateString('ko-KR', {
year: 'numeric', month: '2-digit', day: '2-digit'
});
// 날짜 표시
document.getElementById('currentDate').textContent =
new Date().toLocaleDateString('ko-KR', {
year: 'numeric', month: '2-digit', day: '2-digit'
});
// “대상” 표시할 순번 배열 (여기에 원하는 순번을 넣으세요)
const targetSeqs = [1, 4, 6, 7, 8, 9, 10, 12, 16, 18 ] ;
// 테이블 가져오기
const table = document.querySelector('.table-responsive table');
if (table) {
const rows = table.tBodies[0].rows;
// 순번 하나하나 처리
targetSeqs.forEach(seq => {
// 1열(순번) 값이 seq인 행 찾기
for (let i = 0; i < rows.length; i++) {
const row = rows[i];
const num = parseInt(row.cells[0].textContent.trim(), 10);
if (num === seq) {
const targetCell = row.cells[1]; // 2번째 컬럼
targetCell.textContent = '대상';
// 테두리 두껍게
targetCell.style.border = '3px solid #000';
break;
}
}
});
}
</script>
<script>
// 버튼 클릭 시 테이블 전체를 JSON으로 서버에 전송
$('#downloadBtn').on('click', function() {
generateExcel();
});
function generateExcel() {
const rows = Array.from(document.querySelectorAll('table.table tbody tr')).map(tr => {
const cells = tr.querySelectorAll('td');
return {
seq: cells[0].innerText.trim(),
interview: cells[1].innerText.trim(),
name: cells[2].innerText.trim(),
gender: cells[3].innerText.trim(),
age: cells[4].innerText.trim(),
contact: cells[5].innerText.trim(),
career: cells[6].innerText.trim(),
residence: cells[7].innerText.trim(),
salary: cells[8].innerText.trim(),
summary: cells[9].innerText.trim()
};
});
$.ajax({
url: 'saveExcel.php', // 경로가 맞는지도 확인
type: 'POST', // ← 반드시 POST
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
data: JSON.stringify({ rows: rows }),
success: function(res) {
if (res.success) {
// 다운로드 트리거
window.location.href = 'saveExcel.php?download=' + encodeURIComponent(res.filename);
} else {
alert('엑셀 생성 실패: ' + res.message);
}
},
error: function(xhr, status, err) {
console.error('AJAX Error:', status, err);
alert('서버 통신 중 오류가 발생했습니다.');
}
});
}
</script>
</body>
</html>