4장4장 한빛미디어 ( 주 ) php 와 mysql 연동 7장7장. 2 2 section 01 학습 목표...

36
4 PHP 와 Mysql 와와 7

Upload: sharyl-underwood

Post on 21-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

4 장 PHP 와 Mysql 연동7 장

Page 2: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

2 2

Section 01Section 01학습 목표학습 목표

데이터베이스를 접속 및 종료 함수의 사용법을 익힌다

데이터베이스를 생성 , 삭제 , 선택 함수의 사용법을 익힌다

SQL 명령문을 실행하는 함수의 사용법을 익힌다 .

레코드 수와 필드 수 계산 함수의 사용법을 익힌다

하나의 레코드 값을 읽어오는 함수의 사용법을 익힌다

폼 문 형식과 입력된 내용이 변수 값으로 전달되는 방식을 익힌다

성적 처리 예제를 통하여 Mysql 함수 사용법을 익힌다

Page 3: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

3 3

Section 01Section 01주요 학습 내용주요 학습 내용

01. PHP 의 Mysql 관련 함수

02. 폼문과 변수 값 전달

03. 성적 처리 예제

Page 4: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

4 4

Section 01Section 01

mysql_connect( ) 함수

02【예제 7-1 】 mysql_connect.php 【예제 7-1 】 mysql_connect.php

resource mysql_connect(string hostname [:port], string username,

string password);

1 : <? 2 : echo " <h2> mysql_connect 함수 사용하기 </h2>"; 3 : $connect = mysql_connect("localhost","php5","1234") 4 : or die(" 접속이 안되네요 ~~"); 5 : echo ("mysql 서버와 연결되었어요 !!!<br>"); 6 : echo $connect; 7 : 8 : mysql_close($connect); 9 : ?>

Page 5: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

5 5

Section 01Section 01

mysql_close( ) 함수

02【예제 7-2 】 mysql_close.php【예제 7-2 】 mysql_close.php

bool mysql_close(resource link_identifier);

1 : <? 2 : echo " <h2> mysql_close 함수 사용하기 </h2>"; 3 : $connect = mysql_connect("localhost","php5","1234") 4 : or die(" 접속이 안되네요 ~~"); 5 : echo ("mysql 서버 접속 완료 !!!<br>"); 6 : 7 : mysql_close($connect); 8 : echo (" 접속 종료됨 "); 9 : ?>

Page 6: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

6 6

Section 01Section 01

mysql_create_db( ) 함수

02【예제 7-3 】 mysql_create_db.php【예제 7-3 】 mysql_create_db.php

bool mysql_create_db(string database_name, resource link_identifier);

1 : <? 2 : $connect = mysql_connect("localhost","root","1234"); 3 : $dbname = mysql_create_db("sample", $connect); 5 : if (!$dbname) 6 : { echo(" 새로운 데이터베이스 생성에 실패했습니다 !!!<br>"); 8 : exit; } 10 : else 11 : echo(" sample 데이터베이스가 생성되었습니다 !!!"); 15 : mysql_close($connect); 16 : ?>

Page 7: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

7 7

Section 01Section 01

mysql_drop_db() 함수

02【예제 7-4 】 mysql_drop_db.php【예제 7-4 】 mysql_drop_db.php

bool mysql_drop_db(string database_name , resouce link_identifier);

1 : <? 2 : $connect = mysql_connect("localhost","root","1234"); 3 : $dropdb = mysql_drop_db("sample", $connect); 5 : if (!$dropdb) 6 : { echo(" 데이터베이스삭제에 실패했습니다 !!! <br>"); 8 : exit; } 10 : else 12 : echo("sample 데이터베이스가 삭제되었습니다 "); 15 : mysql_close($connect); 16 : ?>

Page 8: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

8 8

Section 01Section 01

mysql_select_db( ) 함수

02【예제 7-5 】 mysql_select_db.php【예제 7-5 】 mysql_select_db.php

bool mysql_select_db(string database_name, resource link_identifier);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : $db_con = mysql_select_db("php5_db", $connect); 5 : if (!$db_con) 6 : { echo("php5_db 데이터베이스를 선택하는데 실패 !!!<br>"); 8 : exit; } 10 : else 12 : echo("php5_db 데이터베이스가 성공적으로 선택되었습니다 !!!"); 15 : mysql_close($connect); 16 : ?>

Page 9: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

9 9

Section 01Section 01

mysql_query( ) 함수

02【예제 7-6 】 mysql_query.php【예제 7-6 】 mysql_query.php

resouce mysql_query(string query, resource link_identifier);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : mysql_select_db("php5_db", $connect); 6 : $sql = "create table client ("; 7 : $sql = $sql."name CHAR(12) NOT NULL,"; 8 : $sql = $sql."id CHAR(12) NOT NULL,"; 9 : $sql = $sql."email VARCHAR(40),"; 10 : $sql = $sql."sex VARCHAR(4),"; 11 : $sql = $sql."point INT,"; 12 : $sql = $sql."grade VARCHAR(2),"; 13 : $sql = $sql."PRIMARY KEY(id) )"; 15 : $result = mysql_query($sql,$connect);

Page 10: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

10 10

Section 01Section 0102【예제 7-6 】 mysql_query.php 【예제 7-6 】 mysql_query.php

17 : if (!$result) { 18 : echo("client 테이블 생성 실패 !!<br>"); 19 : exit; } 21 : else echo("client 테이블 생성 성공 !!<br>"); 25 : 26 : $sql = "insert into client values"; 27 : $sql = $sql."(' 이경희 ', 'khlee', '[email protected]', ' 여 ', 30, 90)"; 29 : $result = mysql_query($sql,$connect); 30 : 31 : if (!$result) { 32 : echo(" 레코드 삽입 실패 !!"); 33 : exit; } 35 : else echo(" 레코드 삽입 성공 !!"); 39 : 40 : mysql_close(); 41 : ?>

Page 11: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

11 11

Section 01Section 01

mysql_num_rows( ) 함수

02【예제 7-7 】 mysql_num_rows.php 【예제 7-7 】 mysql_num_rows.php

int mysql_num_rows(resource result);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : mysql_select_db("php5_db", $connect); 5 : $sql = "select * from mem"; 6 : $result = mysql_query($sql, $connect); 8 : $total_records = mysql_num_rows($result); 9 : 10 : echo("mysql_query() 함수의 반환 값 : $result<br>"); 11 : echo("mem 테이블의 전체 레코드 수 : $total_records"); 13 : mysql_close(); 14 : ?>

Page 12: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

12 12

Section 01Section 01

mysql_num_fields( ) 함수

02【예제 7-8 】 mysql_num_fields.php 【예제 7-8 】 mysql_num_fields.php

int mysql_num_fields(resource result);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : mysql_select_db("php5_db", $connect); 5 : $sql = "select * from mem"; 6 : $result = mysql_query($sql,$connect); 8 : $total_fields = mysql_num_fields($result); 9 : 10 : echo("mysql_query() 함수의 반환 값 : $result<br>"); 11 : echo("mem 테이블의 전체 필드 수 : $total_fields"); 13 : mysql_close(); 14 : ?>

Page 13: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

13 13

Section 01Section 01

mysql_fetch_row( ) 함수

02【예제 7-9 】 mysql_fetch_row.php 【예제 7-9 】 mysql_fetch_row.php

array mysql_fetch_row(resource result);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : $db_con = mysql_select_db("php5_db", $connect); 4 : 5 : $sql = "select * from mem"; 6 : $result = mysql_query($sql,$connect); 7 : 8 : $fields = mysql_num_fields($result); 9 : ?>

Page 14: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

14 14

Section 01Section 0102【예제 7-9 】 mysql_fetch_row.php 【예제 7-9 】 mysql_fetch_row.php

10 : <h2> mysql_fetch_row() 함수 예제 </h2> 11 : <table width= 800 border=1 cellpadding=10> 12 : <tr> 13 : <td bgcolor=lightblue align=center> 번호 </td> 14 : <td bgcolor=lightblue align=center> 아이디 </td> 15 : <td bgcolor=lightblue align=center> 이름 </td> 16 : <td bgcolor=lightblue align=center> 성별 </td> 17 : <td bgcolor=lightblue align=center> 우편번호 </td> 18 : <td bgcolor=lightblue align=center> 주소 </td> 19 : <td bgcolor=lightblue align=center> 전화번호 </td> 20 : <td bgcolor=lightblue align=center> 나이 </td> 21 : </tr>

Page 15: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

15 15

Section 01Section 0102【예제 7-9 】 mysql_fetch_row.php 【예제 7-9 】 mysql_fetch_row.php

22 : <? 23 : while ( $row = mysql_fetch_row($result)) 24 : { 25 : echo("<tr>"); 26 : 27 : for ($i=0; $i < $fields; $i++) 28 : { 29 : echo("<td> $row[$i] </td>"); 30 : } 31 : 32 : echo("</tr>"); 33 : } 34 : mysql_close(); 35 : ?> 36 : </table>

Page 16: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

16 16

Section 01Section 01【예제 7-10 】 mysql_fetch_array.php 【예제 7-10 】 mysql_fetch_array.php

mysql_fetch_array( ) 함수 array mysql_fetch_array(resource result);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : $db_con = mysql_select_db("php5_db", $connect); 4 : 5 : $sql = "select * from mem"; 6 : $result = mysql_query($sql,$connect); 7 : 8 : $fields = mysql_num_fields($result); 9 : ?> 10 : <h2> mysql_fetch_array() 함수 예제 </h2> 11 : <table width= 800 border=1 cellpadding=10>

Page 17: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

17 17

Section 01Section 01【예제 7-10 】 mysql_fetch_array.php 【예제 7-10 】 mysql_fetch_array.php

11 : <table width= 800 border=1 cellpadding=10> 12 : <tr> 13 : <td bgcolor=lightblue align=center> 번호 </td> 14 : <td bgcolor=lightblue align=center> 아이디 </td> 15 : <td bgcolor=lightblue align=center> 이름 </td> 16 : <td bgcolor=lightblue align=center> 성별 </td> 17 : <td bgcolor=lightblue align=center> 우편번호 </td> 18 : <td bgcolor=lightblue align=center> 주소 </td> 19 : <td bgcolor=lightblue align=center> 전화번호 </td> 20 : <td bgcolor=lightblue align=center> 나이 </td> 21 : </tr>

Page 18: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

18 18

Section 01Section 01【예제 7-10 】 mysql_fetch_array.php 【예제 7-10 】 mysql_fetch_array.php

22 : <? 23 : while ( $row = mysql_fetch_array($result)) 24 : { 25 : echo("<tr>"); 27 : echo("<td> $row[num] </td>"); 28 : echo("<td> $row[id] </td>"); 29 : echo("<td> $row[name] </td>"); 30 : echo("<td> $row[sex] </td>"); 31 : echo("<td> $row[post_num] </td>"); 32 : echo("<td> $row[address] </td>"); 33 : echo("<td> $row[tel] </td>"); 34 : echo("<td> $row[age] </td>"); 36 : echo("</tr>"); 37 : } 38 : mysql_close(); 39 : ?> 40 : </table>

Page 19: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

19 19

Section 01Section 01

mysql_result( ) 함수

02【예제 7-11 】 mysql_result.php 【예제 7-11 】 mysql_result.php

mixed mysql_result(resource result, int row, mixed field);

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : $db_con = mysql_select_db("php5_db", $connect); 4 : 5 : $sql = "select * from mem"; 6 : $result = mysql_query($sql,$connect); 7 : 8 : $records = mysql_num_rows($result); 9 : 10 : $fields = mysql_num_fields($result); 11 : ?>

Page 20: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

20 20

Section 01Section 0102【예제 7-11 】 mysql_result.php 【예제 7-11 】 mysql_result.php

12 : <h2> mysql_result() 함수 예제 </h2> 13 : <table width= 800 border=1 cellpadding=10> 14 : <tr> 15 : <td bgcolor=lightblue align=center> 번호 </td> 16 : <td bgcolor=lightblue align=center> 아이디 </td> 17 : <td bgcolor=lightblue align=center> 이름 </td> 18 : <td bgcolor=lightblue align=center> 성별 </td> 19 : <td bgcolor=lightblue align=center> 우편번호 </td> 20 : <td bgcolor=lightblue align=center> 주소 </td> 21 : <td bgcolor=lightblue align=center> 전화번호 </td> 22 : <td bgcolor=lightblue align=center> 나이 </td> 23 : </tr>

Page 21: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

21 21

Section 01Section 0102【예제 7-11 】 mysql_result.php 【예제 7-11 】 mysql_result.php

24 : <? 25 : for ($i = 0; $i < $records; $i++) 26 : { 27 : echo("<tr>"); 28 : 29 : for ($j = 0; $j < $fields; $j++) 30 : { 31 : $data = mysql_result($result, $i, $j); 32 : echo("<td> $data </td>"); 33 : } 34 : 35 : echo("</tr>"); 36 : } 37 : mysql_close(); 38 : ?> 39 : </table>

Page 22: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

22 22

Section 01Section 01

회원가입 폼 양식 예

02【예제 7-12 】 mem_form.php 【예제 7-12 】 mem_form.php

1 : <html> 2 : <body> 3 : <form name=mem_form method=post action="mem_print.php?var1=10&var2=join"> 4 : <table border="1" width=682 cellspacing="1" cellpadding="4"> 5 : <tr><td align=right>* 아이디 :</td> 7 : <td><input type=text size=15 maxlength=12 name=id></td></tr> 8 : <tr> <td align=right > * 이름 :</td> 10 : <td><input type=text size=15 maxlength=12 name=name> </td></tr> 11 : <tr> 12 : <td align=right> * 비밀번호 :</td> 13 : <td><input type=password size=10 maxlength=10 14 : name=passwd></td></tr>

Page 23: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

23 23

Section 01Section 0102【예제 7-12 】 mem_form.php 【예제 7-12 】 mem_form.php

16 : <td align=right> * 비밀번호 확인 :</td> 17 : <td><input type=password size=12 maxlength=12 18 : name=passwd_confirm></td></tr> 19 : <tr> <td align=right> 성별 :</td> 21 : <td><input type=radio name=sex value=' 남성 ' checked> 남 22 : <input type=radio name=sex value=' 여성 '> 여 </td></tr> 23 : <tr> <td align=right> 휴대전화 :</td> 25 : <td><select name=phone1> 26 : <option value=''> 선택 </option> 27 : <option value='010'>010</option> 28 : <option value='011'>011</option> 29 : <option value='016'>016</option> 33 : </select> - 34 : <input type=text size=4 name=phone2 maxlength=4> - 35 : <input type=text size=4 name=phone3 maxlength=4></td> </tr>

Page 24: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

24 24

Section 01Section 0102【예제 7-12 】 mem_form.php 【예제 7-12 】 mem_form.php

36 : <tr> 37 : <td align=right> 주 소 :</td> 38 : <td><input type=text size=50 name=address></td></tr> 39 : <tr> 40 : <td align=right> 취 미 :</td> 41 : <td> 42 : <input type=checkbox name=movie value="yes" checked> 영화감상 &nbsp; 43 : <input type=checkbox name=book value="yes" > 독서 &nbsp; 44 : <input type=checkbox name=shop value="yes" > 쇼핑 &nbsp; 45 : <input type=checkbox name=sport value="yes" checked> 운동 46 : </td></tr> 47 : <tr> 48 : <td align=right> 자기소개 :</td> 49 : <td><textarea name=intro rows=5 cols=40></textarea></td> </tr> 50 : </table>

Page 25: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

25 25

Section 01Section 0102【예제 7-12 】 mem_form.php 【예제 7-12 】 mem_form.php

51 : <br> 52 : <table border=0 width=682> 53 : <tr><td align=center> 54 : <input type=submit value=" 확인 "> 55 : <input type=reset value=" 다시작성 "></td></tr> 56 : </table> 57 : <input type=hidden name=title value=" 회원 가입 양식 "> 58 : </form> 59 : </body> 60 : </html>

Page 26: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

26 26

Section 01Section 01

회원가입 양식 입력된 내용 출력

02【예제 7-13 】 mem_print.php 【예제 7-13 】 mem_print.php

1 : <? 2 : echo " 1) Post 방식으로 전달 "."<br>"; 3 : echo " 아이디 : "; 4 : echo $id."<br>"; 5 : echo " 이름 : "; 6 : echo $name."<br>"; 7 : echo " 비밀번호 : "; 8 : echo $passwd."<br>"; 9 : echo " 비밀번호 확인 : "; 10 : echo $passwd_confirm."<br>"; 11 : echo " 성별 : "; 12 : echo $sex."<br>"; 13 : echo " 휴대번호 : "; 14 : echo $phone1."-".$phone2."-".$phone3."<br>";

Page 27: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

27 27

Section 01Section 0102【예제 7-13 】 mem_print.php 【예제 7-13 】 mem_print.php

15 : echo " 주소 : "; echo $address."<br>"; 17 : echo " 영화감상 : "; echo $movie."<br>"; 19 : echo " 독서 : "; echo $book."<br>"; 21 : echo " 쇼핑 : "; echo $shop."<br>"; 23 : echo " 운동 : "; echo $sport."<br>"; 25 : echo " 자기소개 : "; 26 : echo $intro."<br>"; 27 : echo " 제목 (hidden 타입에서 전달 ) : "; 28 : echo $title."<br>"; 30 : echo " 2) Get 방식으로 전달 "."<br>"; 31 : echo " \$var1 : "; 32 : echo $var1."<br>"; 33 : echo " \$var2 : "; 34 : echo $var2."<br>"; 35 : ?>

Page 28: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

28 28

Section 01Section 01 성적처리 DB 테이블 설계성적처리 DB 테이블 설계01

필드 이름 타입 추가 사항 필드 설명

num int not null, auto_increment, primary key

일렬 번호

name varchar(12) 학생 이름

kor int   국어 성적

eng int   영어 성적

math int   수학 성적

sum int   총점

avg float   평균

[ 표 7-2] 성적처리 DB 테이블 구조 ( 테이블 이름 : student)

Page 29: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

29 29

Section 01Section 01

DB 테이블 생성 프로그램

02【예제 7-14 】 student_table.php 【예제 7-14 】 student_table.php

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : $dbconn = mysql_select_db("php5_db", $connect); 5 : $sql = "create table student ("; 6 : $sql .= "num int not null auto_increment,"; 7 : $sql .= "name varchar(12),"; 8 : $sql .= "kor int,"; 9 : $sql .= "eng int,"; 10 : $sql .= "math int,"; 11 : $sql .= "sum int,"; 12 : $sql .= "avg float,"; 13 : $sql .= "primary key(num) )"; 14 : 15 : $result = mysql_query($sql, $connect);

Page 30: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

30 30

Section 01Section 0102【예제 7-14 】 student_table.php 【예제 7-14 】 student_table.php

17 : if (!$result) 18 : echo "student 테이블 생성 실패 !!!"; 19 : else 20 : echo "student 테이블 생성 성공 !!!"; 21 : 22 : mysql_close(); 23 : ?>

Page 31: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

31 31

Section 01Section 01

성적처리 메인 프로그램

02【예제 7-15 】 student_list.php 【예제 7-15 】 student_list.php

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); // DB 연결 3 : mysql_select_db("php5_db", $connect); // DB 선택 4 : 5 : if ($mode == "insert") // 데이터 입력하기 6 : { $sum = $kor + $eng + $math; // 합계 구하기 8 : $avg = $sum/3; // 평균 구하기 9 : 10 : $sql = "insert into student (name, kor, eng, math, sum, avg) values"; 11 : $sql .= "('$name', $kor, $eng, $math, $sum, $avg)"; 12 : 13 : $result = mysql_query($sql, $connect); 14 : } 15 : ?>

Page 32: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

32 32

Section 01Section 0102【예제 7-15 】 student_list.php 【예제 7-15 】 student_list.php

17 : <h2> 성적처리 프로그램 예제 </h2> 18 : 학생 성적 입력하기 20 : <!-- 성적 입력 / 성적순 정렬 / 성적역순 정렬 --> 21 : <table width=800 border=0 cellspaceing=1 cellpadding=5 bgcolor=#cccccc> 22 : <tr> 23 : <form action=<? echo $PHP_SELF ?> method='post'> 24 : <td bgcolor=white> 25 : 이름 : <input type=text size=8 name=name> 26 : 국어 : <input type=text size=5 name=kor> 27 : 영어 : <input type=text size=5 name=eng> 28 : 수학 : <input type=text size=5 name=math> &nbsp;&nbsp; 29 : <input type=submit value=" 입력 "> 30 : <input type=hidden name=mode value='insert'> 31 : </td> 32 : </form>

Page 33: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

33 33

Section 01Section 0102【예제 7-15 】 student_list.php 【예제 7-15 】 student_list.php

34 : <form action=<? echo $PHP_SELF ?> method='post'> 35 : <td bgcolor=white> 36 : <input type=submit value=" 성적순 정렬 "> 37 : <input type=hidden name=mode value='big_first'> 38 : </td> 39 : </form> 40 : 41 : <form action=<? echo $PHP_SELF ?> method='post'> 42 : <td bgcolor=white> 43 : <input type=submit value=" 성적역순 정렬 "> 44 : <input type=hidden name=mode value='small_first'> 45 : </td> 46 : </form> 47 : </tr> 48 : </table> 50 : <br>

Page 34: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

34 34

Section 01Section 0102【예제 7-15 】 student_list.php 【예제 7-15 】 student_list.php

52 : <table width= 800 border=0 cellpadding=5 bgcolor=#cccccc > 53 : <tr> <td bgcolor=#eeeeee align=center> 번호 </td> 55 : <td bgcolor=#eeeeee align=center> 이름 </td> 56 : <td bgcolor=#eeeeee align=center> 국어 </td> 57 : <td bgcolor=#eeeeee align=center> 영어 </td> 58 : <td bgcolor=#eeeeee align=center> 수학 </td> 59 : <td bgcolor=#eeeeee align=center> 합계 </td> 60 : <td bgcolor=#eeeeee align=center> 평균 </td> 61 : <td bgcolor=#eeeeee align=center></td> </tr> 65 : <? 67 : if ($mode == "big_first") // 성적순 정렬 ( 내림차순 ) 68 : $sql = "select * from student order by sum desc"; 69 : else if ($mode == "small_first") // 성적순 정렬 ( 오름차순 ) 70 : $sql = "select * from student order by sum"; 71 : else 72 : $sql = "select * from student";

Page 35: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

35 35

Section 01Section 0102【예제 7-15 】 student_list.php 【예제 7-15 】 student_list.php

74 : $result = mysql_query($sql); 76 : $count = 1; // 화면 출력 시 일렬번호 79 : while ($row = mysql_fetch_array($result)) 80 : { $avg = round($row[avg], 1); 84 : echo("<td bgcolor=white align=center> $count </td>"); 85 : echo("<td bgcolor=white align=center> $row[name] </td>"); 86 : echo("<td bgcolor=white align=center> $row[kor] </td>"); 87 : echo("<td bgcolor=white align=center> $row[eng] </td>"); 88 : echo("<td bgcolor=white align=center> $row[math] </td>"); 89 : echo("<td bgcolor=white align=center> $row[sum] </td>"); 90 : echo("<td bgcolor=white align=center> $avg </td>"); 91 : echo("<td bgcolor=white align=center> 92 : <a href=student_delete.php?num=" . $row[num] . ">" . 93 : " 삭제 </a></td>"); 96 : $count++; 97 : } 100 : mysql_close(); ?> </table>

Page 36: 4장4장 한빛미디어 ( 주 ) PHP 와 Mysql 연동 7장7장. 2 2 Section 01 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를

36 36

Section 01Section 01

레코드 삭제

02【예제 7-16 】 student_delete.php 【예제 7-16 】 student_delete.php

1 : <? 2 : $connect = mysql_connect("localhost","php5","1234"); 3 : mysql_select_db("php5_db", $connect); 4 : 5 : // DB 테이블에서 num 필드의 값으로 $num 의 값을 가지는 6 : // 레코드 삭제 7 : $sql = "delete from student where num = $num"; 8 : mysql_query($sql, $connect); 9 : 10 : mysql_close($connect); 11 : 12 : // 레코드를 삭제하고 다시 student_list.php 로 돌아감 13 : Header("Location:student_list.php"); 14 : ?> 15 :