웹서버에 미리 입력문과
테이블 입력을 위한 폼
# score , course 는 프로그램으로 작성할 수 없다.
*st_in.html
<html>
<head>
<meta
http-equiv="content-type" content="text/html";
charset="euc-kr">
<title>student 입력폼</title>
</head>
<body bgcolor="white"
text="black" link="blue" vlink="purple"
alink="red">
<form name="insert"
action="st_in.php" method="POST">
<center>
<table border="0"
width="250">
<tr>
<td
width="50"><p align="center">학번</p></td>
<td> <input type="text"
name="sno"></td>
</tr>
<tr>
<td
width="50"><p align="center">이름</p></td>
<td> <input type="text"
name="sname"></td>
</tr>
<tr>
<td
width="50"><p align="center">성별</p></td>
<td> 남<input type="radio"
name="sex" value="남">,
여<input
type="radio" name="sex" value="여"></td>
</tr>
<tr>
<td
width="50"><p align="center">학과</p></td>
<td> <select name="major"
size="1">
<option
value="화학">화학</option>
<option
value="생물">생물</option>
<option
value="물리">물리</option>
<option
value="유공">유공</option>
<option
value="식영">식영</option>
</select></td>
</tr>
<tr>
<td
width="50"><p align="center">학년</p></td>
<td> 1<input type="radio"
name="syear" value="1">,
2<input
type="radio" name="syear" value="2">,
3<input
type="radio" name="syear" value="3">,
4<input
type="radio" name="syear" value="4">
</td>
</tr>
<tr>
<td
width="50"><p align="center">학점</p></td>
<td> <input type="text"
name="avr"></td>
</tr>
<tr>
<td
colspan="2">
<p
align="center"><input type="submit" name="확인"
value="확인"></p>
</td>
</tr>
</table>
</center>
</form>
<br><hr>
</body>
<? show_source(__FILE__); ?>
</html>
테이블에 인력된 데이터를 입력할 프로그램
*st_in.php
<?
$sno = $_POST[sno]; // 프로그램 내에서 post방식으로 전달된 변수를 폴더
간단히 표현하기
$sname = $_POST[sname]; // 위해 일반 변수로 치환한다.
$sex = $_POST[sex];
$major = $_POST[major];
$syear = $_POST[syear];
$avr = $_POST[avr];
require('conn.php');
$sql="insert into student (sno, sname, sex, major, syear, avr)
values('$sno', '$sname', '$sex', '$major', $syear, $avr)";
// syear랑 avr는
숫자로 되기 때문에 ''로 안감싸준다.
$result=oci_parse($conn,$sql); // sql문을 파싱해서 실행 계획을 생성한다.
$re=oci_execute($result); //
sql문을 실행한다.
// 아무것도
안하게 되면 execute는 자동으로 커밋한다.
oci_free_statement($result);
oci_close($conn);
if($re) echo("정상 입력 되었습니다.");
// echo(" <mata http-equiv='Refesh' content = '0 :
URL=st_vi.php'>");
?>
*테스트
php 로 들어가서 table을 만들어준다.
@c:\sql\school.sql
select
* from student where sno=202020;
*pr_in.html
<html>
<head>
<meta
http-equiv="content-type" content="text/html";
charset="euc-kr">
<title>student 입력폼</title>
</head>
<body bgcolor="white"
text="black" link="blue" vlink="purple"
alink="red">
<form name="insert"
action="pr_in.php" method="POST">
<center>
<table border="0"
width="250">
<tr>
<td
width="50"><p align="center">사번</p></td>
<td> <input type="text"
name="pno"></td>
</tr>
<tr>
<td
width="50"><p align="center">이름</p></td>
<td> <input type="text"
name="pname"></td>
</tr>
<tr>
<td
width="50"><p align="center">담당학과</p></td>
<td> <select name="section" size="1">
<option value="화학">화학</option>
<option value="생물">생물</option>
<option value="물리">물리</option>
<option value="유공">유공</option>
<option value="식영">식영</option>
</select></td>
</tr>
<tr>
<td
width="100"><p align="center">직위</p></td>
<td>
정교수<input
type="radio" name="orders" value="정교수">
부교수<input
type="radio" name="orders" value="부교수">
조교수<input
type="radio" name="orders" value="조교수">
</td>
</tr>
<tr>
<td
width="100"><p align="center">입사일(ex:
99/12/17)</p></td>
<td> <input type="date"
name="hiredate"></td>
</tr>
<tr>
<td
colspan="2">
<p
align="center"><input type="submit" name="확인"
value="확인"></p>
</td>
</tr>
</table>
</center>
</form>
<br><hr>
</body>
<? show_source(__FILE__); ?>
</html>
*pr_in.php
<?
$pno = $_POST[pno];
$pname = $_POST[pname];
$section = $_POST[section];
$orders = $_POST[orders];
$hiredate = $_POST[hiredate];
require('conn.php');
$sql="insert into professor (pno, pname, section, orders,
hiredate)
values('$pno', '$pname', '$section', '$order',
to_DATE('$hiredate','YYYY-MM-DD'))";
$result=oci_parse($conn,$sql);
$re=oci_execute($result);
// 아무것도
안하게 되면 execute는 자동으로 커밋한다.
oci_free_statement($result);
oci_close($conn);
if($re) echo("정상 입력 되었습니다.");
// echo(" <mata http-equiv='Refesh' content = '0 :
URL=pr_vi.php'>");
show_source(__FILE__);
?>
*확인
select
* from professor;
*st_vi.php
<?
echo("<a
href=./st_in.html>자료 입력하기</a><hr>");
// in이 아니라 vi 로 연결해둬야한다. 먼저 보여줘야함
require('conn.php');
$sql="select sno, sname, sex, major,
syear, avr
from student order by sno";
// 오름차순 정렬
$result=oci_parse($conn,$sql);
$re=oci_execute($result);
while ($row =
oci_fetch_array($result,OCI_NUM)){
echo("$row[0]-$row[1]-$row[2]-$row[3]-$row[4]-$row[5]
<br>");
}
// $row 는 스칼라 1차원 배열
// 각 행에 해당하는게 0,1,2,3,4,5로나옴
oci_free_statement($result);
oci_close($conn);
// 맨 마지막으로 간 포인터와 남아있는 데이터를 다 없애준다.
show_source(__FILE__);
?>
// 이 프로그램의 문제가 있다. 속도가 제일 빠르다.
// $의 5,6,7,8,9 는 뭐가 있는지 알수가 없다.
*pr_vi.php
<?
echo("<a href=./pr_in.html>자료 입력하기</a><hr>");
require('conn.php');
$sql="select pno, pname, section,
orders, hiredate
from professor order by pno";
$result=oci_parse($conn,$sql);
$re=oci_execute($result);
while ($row =
oci_fetch_array($result,OCI_NUM)){
echo("$row[0]-$row[1]-$row[2]-$row[3]-$row[4] <br>");
}
oci_free_statement($result);
oci_close($conn);
show_source(__FILE__);
?>
*sc_vi.php
<?
echo("<a
href=./sc_in.html>자료 입력하기</a><hr>");
require('conn.php');
$sql="select sno, cno, result
from score order by result
desc";
$result=oci_parse($conn,$sql);
$re=oci_execute($result);
while ($row =
oci_fetch_array($result,OCI_NUM)){
echo("$row[0]-$row[1]-$row[2]
<br>");
}
oci_free_statement($result);
oci_close($conn);
show_source(__FILE__);
?>
*co_vi.php
<?
echo("<a
href=./co_in.html>자료 입력하기</a><hr>");
require('conn.php');
$sql="select cno, cname,st_num, pno
from course order by cno";
$result=oci_parse($conn,$sql);
$re=oci_execute($result);
while ($row =
oci_fetch_array($result,OCI_NUM)){
echo("$row[0]-$row[1]-$row[2]-$row[3] <br>");
}
oci_free_statement($result);
oci_close($conn);
show_source(__FILE__);
?>
*st_vi.php ( 개선문 )
<?
echo("<a href=./st_in.html>자료 입력하기</a><hr>");
require('conn.php');
$sql="select sno,sname,sex,major,syear,to_char(avr,'0.00'),avr
from student order by sno";
$result=oci_parse($conn,$sql);
oci_excute($result);
echo("<table border='0')");
while($row = oci_fetch_array($result, OCI_ASSOC)){
echo("
<tr>
<td width='50'><p
align='center'>$row[SNO]</p></td>
<td width='50'><p
align='center'>$row[SNAME]</p></td>
<td width='50'><p
align='center'>$row[SEX]</p></td>
<td width='50'><p
align='center'>$row[SYEAR]</p></td>
<td width='50'><p
align='center'>$row[MAJOR]</p></td>
<td width='50'><p
align='center'>$row[AVR]</p></td>
</tr>
");
}
echo("</table>");
oci_free_statement($result);
oci_clse($conn);
show_source(__FILE__);
?>
댓글 없음:
댓글 쓰기