Presentation is loading. Please wait.

Presentation is loading. Please wait.

7장 PHP와 Mysql 연동 한빛미디어(주).

Similar presentations


Presentation on theme: "7장 PHP와 Mysql 연동 한빛미디어(주)."— Presentation transcript:

1 7장 PHP와 Mysql 연동 한빛미디어(주)

2 학습 목표 데이터베이스를 접속 및 종료 함수의 사용법을 익힌다 데이터베이스를 생성, 삭제, 선택 함수의 사용법을 익힌다
SQL 명령문을 실행하는 함수의 사용법을 익힌다. 레코드 수와 필드 수 계산 함수의 사용법을 익힌다 하나의 레코드 값을 읽어오는 함수의 사용법을 익힌다 폼 문 형식과 입력된 내용이 변수 값으로 전달되는 방식을 익힌다 성적 처리 예제를 통하여 Mysql 함수 사용법을 익힌다

3 주요 학습 내용 01. PHP의 Mysql 관련 함수 02. 폼문과 변수 값 전달 03. 성적 처리 예제

4 【예제 7-1】mysql_connect.php
02 mysql_connect( ) 함수  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 : ?>

5 【예제 7-2】mysql_close.php 02 mysql_close( ) 함수 1 : <?
 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 : ?>

6 【예제 7-3】mysql_create_db.php
02 mysql_create_db( ) 함수  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 : ?>

7 【예제 7-4】mysql_drop_db.php
02 mysql_drop_db() 함수  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 : ?>

8 【예제 7-5】mysql_select_db.php
02 mysql_select_db( ) 함수 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 : ?>

9 【예제 7-6】mysql_query.php 02 mysql_query( ) 함수 1 : <?
 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." 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);

10 【예제 7-6】mysql_query.php 02 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', '여', 30, 90)"; 29 :     $result = mysql_query($sql,$connect); 30 : 31 :     if (!$result) { 32 :         echo(" 레코드 삽입 실패!!"); 33 :         exit;      } 35 :     else       echo(" 레코드 삽입 성공!!"); 39 : 40 :     mysql_close(); 41 : ?>

11 【예제 7-7】mysql_num_rows.php
02 mysql_num_rows( ) 함수  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 : ?>

12 【예제 7-8】mysql_num_fields.php
02 mysql_num_fields( ) 함수  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 : ?>

13 【예제 7-9】mysql_fetch_row.php
02 mysql_fetch_row( ) 함수 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 : ?>

14 【예제 7-9】mysql_fetch_row.php
02 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>

15 【예제 7-9】mysql_fetch_row.php
02 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>

16 【예제 7-10】mysql_fetch_array.php
 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>

17 【예제 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>

18 【예제 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>

19 【예제 7-11】mysql_result.php
02 mysql_result( ) 함수 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 : ?>

20 【예제 7-11】mysql_result.php
02 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>

21 【예제 7-11】mysql_result.php
02 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>

22 【예제 7-12】mem_form.php 02 회원가입 폼 양식 예 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>  

23 【예제 7-12】mem_form.php 02  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>

24 【예제 7-12】mem_form.php 02 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> 영화감상     43 :        <input type=checkbox name=book value="yes" >독서    44 :        <input type=checkbox name=shop value="yes" >쇼핑    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>

25 【예제 7-12】mem_form.php 02 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>

26 【예제 7-13】mem_print.php 02 회원가입 양식 입력된 내용 출력 1 : <?
 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>";

27 【예제 7-13】mem_print.php 02 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 : ?>

28 not null, auto_increment,
성적처리 DB 테이블 설계 01 필드 이름 타입 추가 사항 필드 설명 num int not null, auto_increment, primary key 일렬 번호 name varchar(12) 학생 이름 kor 국어 성적 eng 영어 성적 math 수학 성적 sum 총점 avg float 평균 [표 7-2] 성적처리 DB 테이블 구조 (테이블 이름 : student)

29 【예제 7-14】student_table.php
02 DB 테이블 생성 프로그램  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);

30 【예제 7-14】student_table.php
02 17 :     if (!$result) 18 :         echo "student 테이블 생성 실패 !!!"; 19 :     else 20 :         echo "student 테이블 생성 성공 !!!"; 21 : 22 :     mysql_close(); 23 : ?>

31 【예제 7-15】student_list.php
02 성적처리 메인 프로그램  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 : ?>

32 【예제 7-15】student_list.php
02 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>    29 : <input type=submit value="입력"> 30 : <input type=hidden name=mode value='insert'> 31 : </td> 32 : </form>

33 【예제 7-15】student_list.php
02 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>

34 【예제 7-15】student_list.php
02 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";

35 【예제 7-15】student_list.php
02 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>

36 【예제 7-16】student_delete.php
02 레코드 삭제  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 : 


Download ppt "7장 PHP와 Mysql 연동 한빛미디어(주)."

Similar presentations


Ads by Google