반응형
안녕하세요. John Computer 입니다.
매번 페이지 / 메소드 마다 칼럼명과 데이터를 집어넣어서 만드는 번거러움을 없애기 위해서
동적으로 칼럼의 갯수와 상관없이 삽입 수정 삭제가 가능하게 쿼리문을 작성해 놨습니다.
사용법 또한 간단하니 다운받으셔서 이용하세요
사용법
1. input을 생성하여 insert_col = DB칼럼명 / insert_param = DB에 들어갈 데이터값 을 넣는공간을 만들어주세요.
2. insert_col의 경우 칼럼명을 보여질 필요가 없기 때문에 hidden으로 처리해주시면 됩니다.
3. ajax에 insert_page.php 경로를 url에 설정 해주시고 colunm / insert_param 과 같은 변수명은 그대로 작동하게 두고 TABLE 명만 바꿔 주시면 됩니다.
## 한 화면에 여러 FORM이 존재 할 경우 FORM을 지정하는 선택자를 넣어주세요.
## 테이블명 이외에 바꿀내용은 없습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
사번 : <input type="text" id="inputemp" class="form-control" name="insert_param">
<input type="hidden" name="insert_col" value="emp_num" />
이름 : <input type="text" id="inputname" class="form-control" name="insert_param">
<input type="hidden" name="insert_col" value="name" />
<input type="button" name="" value="등록" onclick="insert_event()" />
<script src="./jquery.min.js"></script>
<script>
//입력 클릭시 insert해주는 php 로 데이터 전송하는 함수
function insert_event() {
var column_array = $("input[name=insert_col]").length; //hidden 되어있는 input 갯수
//배열 생성
var column = new Array(column_array); //컬럼 배열선언
//배열에 값 주입
for (var i = 0; i < column_array; i++) {
column[i] = $("input[name=insert_col]").eq(i).val();
}
var insert_param_array = $("input[name=insert_param]").length; //input type text 개수.
//배열 생성
var insert_param = new Array(insert_param_array); //파라미터 배열선언
//배열에 값 삽입
for (var i = 0; i < insert_param_array; i++) {
insert_param[i] = $("input[name=insert_param]").eq(i).val();
}
$.ajax({
type: 'post',
url: './forms/insert_page.php',
async: false, // 전역변수 설정 변수
data: {
url: url,
column: column, //컬럼
param: insert_param, //params
TABLENAME: 'dbo.employee', //테이블명
},
success: function(data) {
alert("입력되었습니다.");
location.reload();
},
error: function(request, status, error) {}
});
}
</script>
</body>
</html>
|
cs |
insert Page 입니다. 여기소스를 참고하여 직접 input을 만들어 주세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<!--
===============================================================================
insert 모듈
// INSERT into xxx => SQL
// VALUES ( yyy ) => SQL2
// sum_sql = SQL + SQL2
-->
<?php
include "데이터베이스 설정 경로";
// DB를 입력하실 분은 DB Con 등 여러 설정을 넣어주세요.
$TABLENAME = $_POST["TABLENAME"]; // 테이블명 가져오기
$column = $_POST["column"]; // 칼럼명 가져오기
$param = $_POST["param"]; // 파람값 가져오기
$select_obj_length = count($column); //컬럼수
$a_length = count($param); //value 수
$sql = "INSERT into $TABLENAME";
$sql2 = " VALUES (";
$params = array();
$sql .= "(";
for ($i=0; $i < $select_obj_length ; $i++) {
if($i == $select_obj_length-1){
$sql .= $column[$i];
$sql2 .="?";
break;
}
$sql .= $column[$i].",";
$sql2 .="?,";
}
for ($j=0; $j < $a_length; $j++) {
array_push($params,$param[$j]);
}
$sql .= ")";
$sql2 .= ")";
print_r($sql.$sql2);
print_r($column);
$sum_sql = $sql.$sql2;
// $params = array(&$column[0], &$column[1], &$column[2]);
print_r($param);
sqlsrv_query($con, $sum_sql, $params); // $sql 에 저장된 명령 실행
sqlsrv_close($con);
?>
|
cs |
insert_page를 이용하여 자동으로 쿼리문을 생성하여 줍니다.
나머지 수정 삭제도 첨부파일로 올리니 ajax -> data의 내용을 읽어보시고 본인 프로그램에 맞게 이용해 주시면 됩니다.
반응형
'프로그래밍 > HTML,CSS ,PHP,JQuery,Javascript' 카테고리의 다른 글
키패드 누르기 - 2020 카카오 인턴십 프로그래머스 ( JavaScript ) (0) | 2021.09.28 |
---|---|
PHP POST content-length 파일 업로드 용량 오류. (0) | 2021.02.17 |
LED 저항값 계산기 (블로그) - 아두이노 (0) | 2020.09.20 |
PHP 로그인 화면 구성 FORM 태그 POST 전송 mysql (0) | 2020.09.04 |
PHP form 전송 방법 POST / GET 이용방법 (0) | 2020.09.04 |