탭으로 구분된 자료 입력하는 방법?
본문
안녕하세요?
아래와 같이 탭으로 구분된 자료를 입력하는 방법이 궁금합니다.
이름 지역 성별 개수 비고
홍길동 서구 남 5 외상
윗 첫줄은 항목명이고
두번째 줄은 자료인데요..
두번째 줄에 대하여 db에 저장하는 방법이 궁금합니다.
답변 4
아래와 같이 잘라서 입력하면 되겠네요.
참고: https://stackoverflow.com/questions/1792950/explode-string-by-one-or-more-spaces-or-tabs
//탭으로 구분
$comp = preg_split("/[\t]/", $var);
//탭, 공백, 줄바꿈
$comp = preg_split('/\s+/', $var);
//공백문자 하나
$comp = preg_split('/ +/', $var);
어떻게 넣느냐에 따라 조금 다르긴한데요
홍길동|서구|남|5|외상
홍길녀||여|11|
홍길길||남||
이런식으로 중간에 | 이표시를 통한다거나 , 를 통해서 나눈다거나 하는
분류점을 넣어서 값을 한번에 넣는 방법이 많이 쓰입니다.
$wr_1 = '홍길동|서구|남|5|외상';
이런식으로 저장이 되고
불러올때는 $wr_1s = explode("|", $wr_1);
print_r2($wr_1s);
이런식으로 해서 보여지고 합니다.
참고할 만한 스크립트입니다.
SV 파일의 필드명만 데이타 테이블에 맞추면 된다.
테이블에 맞췄음에도 불구하고 입력 에러시 파일안에 특수 문자 검색을 해볼것.
*. CSV 파일 : xls.cvs
*. 파일 업로드 폼 : write.php
*. 받은파일 컨트롤 : write_proc.php
1. 디비 테이블 생성
CREATE TABLE IF NOT EXISTS `디비테이블` (
`idx` int(11) NOT NULL auto_increment,
`bo_table` varchar(50) NOT NULL,
`wr_id` varchar(10) NOT NULL,
`code` varchar(20) NOT NULL,
`wdate` varchar(50) NOT NULL,
PRIMARY KEY (`idx`)
)
2. data 폴더 생성후 퍼미션을 777 로 변경
3. xls.cvs
1번라인은 참고용으로 실제 디비에는 업로드되지 않습니다. csv 항목중 첫번째것만 디비에 업로드합니다.
code code2 code3
국화꽃 W 25
꽃미녀 W 26
여미지 M 27
4. write.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>CVS 파일 올리기</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body, td, a { font-size:12px; font-family:"돋움"; }
img { border:0; }
.hp_div { width:900px; padding:0 0 0 200px; }
.hp_div1 { font-family:"돋움"; font-size:11px; float:left; width:150px; height:20px; padding:5px 0 0 0; text-align:center; vertical-align:middle; background:#f5f5f4; color:#292929; }
.hp_div2 { font-family:"돋움"; float:left; width:300px; height:25px; padding:0 5px 0 5px; }
.hp_div3 { font-family:"돋움"; float:left; height:25px; }
</style>
</head>
<body>
<form method="post" name="form" action="write_proc.php" enctype="multipart/form-data" style="margin:0; padding:0;">
<input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>">
<input type="hidden" name="wr_id" value="<?php echo $wr_id; ?>">
<div class="hp_div">
<div class="hp_div1">파일첨부</div>
<div class="hp_div2"><input type="file" name="upfile" id="upfile" style="width:300px; height:25px;"></div>
<div class="hp_div3" align="center"><input type="submit" value="올리기" style="width:50px; height:25px;"></div>
<div style="clear:both;"></div>
</div>
</form>
</body>
</html>