php-php와 오라클 연동

2019. 12. 31. 15:24Security/language

오라클 연동시 사용할 예제 테이블 구조

미리 만들어놓은 school.sql 파일로 테이블 생성

 

입력 프로그램의 형태

1. 오라클 연동을 위해 각 프로그램에서 호출 할 접속 프로그램 작성(conn.php)

 2. 학생 테이블 입력을 위한 폼 파일 작성(st_in.html)

 

3. 학생 테이블에 입력된 데이터를 전달 받아 입력할 프로그램을 작성(st_in.php)

만약, echo 부분의 주석을 해제하면 바로 st_vi.php 파일로 넘어간다.

 

4. 학생 테이블의 내용을 출력할 프로그램을 작성(st_vi.php)

 

5. 이와 같은 방식으로 교수 테이블도 작성해준다.

5-1. 교수 테이블 입력을 위한 폼 파일 작성(pr_in.html)

5-2. 교수 테이블에 입력된 데이터를 전달 받아 입력할 프로그램을 작성(pr_in.php)

st_in.php 파일과 마찬가지로 echo 부분의 주석을 해제하면 바로 pr_vi.php 파일로 넘어간다.

 

5-3. 교수 테이블의 내용을 출력할 프로그램을 작성(pr_vi.php)

6. 만약, course테이블과 score테이블처럼 FK가 있을 경우에는 일단 vi 파일만 생성해준다.

6-1. 점수 테이블의 내용을 출력할 프로그램을 작성(sc_vi.php)

6-2. 과목 테이블의 내용을 출력할 프로그램을 작성(co_vi.php)

 

 

* 출력 프로그램(vi.php 파일) 개선

OCI_NUM 대신 OCI_ASSOC를 사용해서 연관 배열 형식으로 변경

 

1-1. st_vi.php의 패치 배열을 연관 배열 형식으로 변경한다. 또한, avr은 to_char함수를 사용해서 avr이 '0.15' 같은 경우 '.15'처럼 출력되지 않도록 한다.

기존의 st_vi.php
수정된 st_vi.php

1-2.  마찬가지로 pr_vi.php의 패치 배열을 연관 배열 형식으로 변경한다. 또한, hiredate는 to_char함수를 사용해서 날짜형식으로 출력되도록 한다.

기존의 pr_vi.php
변경된 pr_vi.php

2차원 배열로 fetch하도록 프로그램을 개선

2차원 배열에 데이터가 존재하기때문에 원하는 데이터를 하나만 출력하거나 중간까지만 출력하는등 데이터의 활용도가 훨씬 높아진다. while문이 아닌 for문을 사용하기때문에 row_num의 양을 바로 알 수 있다.

 

2-1. st_vi.php를 2차원 배열로 패치하도록 개선

2-2. pr_vi.php를 2차원 배열로 패치하도록 개선

2-3. sc_vi.php를 2차원 배열로 패치하도록 개선

2-4. co_vi.php를 2차원 배열로 패치하도록 개선

삭제기능

각각의 vi.php에 삭제 기능을 추가

 

3-1. st_vi.php에 삭제 기능 추가

3-2. pr_vi.php에 삭제 기능 추가

3-3. co_vi.php에 삭제 기능 추가

3-4. sc_vi.php에 삭제 기능 추가

sc_vi 같은 경우 하나만 sno만 del로 잡으면 데이터가 한번에 다 지워질 수 있기때문에 cno도 같이 조건에 추가한다.

검색기능 추가

search 변수가 있을때와 없을때로 나눠서 구문을 작성한다. 삭제기능과는 전혀 서로 영향을 주지 않기때문에 상관없다.

 

4-1. st_vi.php에 검색 기능 추가

4-2. pr_vi.php에 검색 기능 추가

4-3. co_vi.php에 검색 기능 추가

4-4. sc_vi.php에 검색 기능 추가

 

화면 단위 출력

5-1. st_vi.php를 화면 단위로 출력

5-2. pr_vi.php를 화면 단위로 출력

5-3. co_vi.php를 화면 단위로 출력

5-1. sc_vi.php를 화면 단위로 출력

'Security > language' 카테고리의 다른 글

php-php와 오라클 연동(2)  (0) 2020.01.10
php-세션  (0) 2020.01.03
php-DB 접속  (0) 2019.12.30
php-함수  (0) 2019.12.30
php-배열(2차원 배열)  (0) 2019.12.26