Microsoft PowerPoint - PHP.ppt [호환 모드]

Similar documents
PowerPoint 프레젠테이션

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint - chap05-제어문.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

10.ppt

PHP & ASP

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

OCW_C언어 기초

Microsoft PowerPoint 세션.ppt

DBMS & SQL Server Installation Database Laboratory

MySQL-Ch05

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint - chap04-연산자.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Javascript.pages

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Java ...

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

13주-14주proc.PDF

Visual Basic 반복문

윈도우즈프로그래밍(1)

Infinity(∞) Strategy

Microsoft PowerPoint - Java7.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint MySQL 연동.ppt

Discrete Mathematics

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

PowerPoint 프레젠테이션

PowerPoint Presentation

MySQL-Ch10

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

2009년 상반기 사업계획

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

강의 개요

Microsoft Word - php14.doc

하둡을이용한파일분산시스템 보안관리체제구현

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - gnu-w10-c-chap11

금오공대 컴퓨터공학전공 강의자료

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - chap06-1Array.ppt

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft PowerPoint - chap06-2pointer.ppt

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint 자바스크립트(1).pptx

Microsoft Word - Windows_apahce_php_CUBRID2008

PHP & ASP

MySQL-.. 1

PowerPoint Template

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

untitled

소만사 소개

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O


untitled

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

11장 포인터

단계

제목을 입력하세요.

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

uFOCS

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Tcl의 문법

설계란 무엇인가?

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

02장.배열과 클래스

슬라이드 1

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

설계란 무엇인가?

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Microsoft PowerPoint Python-WebDB

The Pocket Guide to TCP/IP Sockets: C Version

chap 5: Trees

슬라이드 1

Transcription:

406.426 426 Design & Analysis of Database System PHP 2007 Fall 지도교수 : 박종헌교수님 (jonghun@snu.ac.kr) 담당조교 : 정범석 (bumdol03@snu.ac.kr) Digital Interaction Lab. Industrial Engineering Seoul National University

Reference Martial PHP 프로그래밍입문 : 웹사이트제작완벽실습 Hanbit Book 저자 : 황재호 발행일 : 2005 / 12 http://www.hanbitbook.co.kr/look.php?isbn=89-7914-374-5 406.426 Design & Analysis of Database System 2

Table of Contents PHP 개요 PHP 동작원리 윈도우환경에서 Apache 설치 PHP 프로그램설치 Apache와 PHP 환경설정 Mysql 설치 실습환경구축 406.426 Design & Analysis of Database System 3

What is PHP? PHP official web site http://www.php.net PHP is a widely-used generalpurpose scripting language that is especially suited for Web development and can be embedded into HTML. Hypertext Preprocessor 의약어 406.426 Design & Analysis of Database System 4

What is PHP? 특징 Apache, Mysql, PHP 가패키지형태로사용 저비용으로고기능웹사이트구축 C 언어와 90% 이상유사 Oracle, PostgreSQL, Sybase 등다양한데이터베이스를지원 PHP 는설치가간단하고배우기쉬움 익히기쉽기때문에 JSP 에비해개발기간도적게걸림 구축된웹사이트동작속도가빠름 간략한역사 1994 년라스머스레돌프가 PHP 개발 PHP/FI2, PHP 3, PHP 4 로발전 현재 PHP 5 출시 Zend 2 엔진채용 다양한객체지향기능추가 406.426 Design & Analysis of Database System 5

PHP vs. ASP/JSP ASP MS 사에서제공하는윈도우서버환경 (IIS) 필요 MS 사의 MSSQL 데이터베이스만을사용 JSP SUN사의 JAVA를기반으로웹환경에맞게개발 JSP 언어는보안성이우수하고많은우수한기능들이포함 객체지향언어이기때문에초보자에게어려움 406.426 Design & Analysis of Database System 6

PHP 기반의운영환경 클라이언트 ( 서비스요청 ) 컴퓨터 웹브라우저 ( 인터넷익스플로러 ) 1 웹페이지요청 2 PHP 부분처리요청 3 데이터베이스로부터가져옴 1 5 4 가져온데이터아파치에전달 5 웹페이지를클라이언트에제공 서버 ( 서비스제공 ) 컴퓨터 웹서버프로그램 ( 아파치 ) 2 4 3 PHP 데이터베이스 (MYSQL) 406.426 Design & Analysis of Database System 7

PHP 사용예 <html> <body> <? $kor=80; $eng=70; $math= 90; $sum= $kor + $eng + $math; $avg= $sum/3;?> <table border=1> <tr><td> 국어 : <? echo $kor;?> </td></tr> <tr><td> 영어 : <? echo $eng;?> </td></tr> <tr><td> 수학 : <? echo $math;?> </td></tr> <tr><td> 합계 : <? echo $sum;?> </td></tr> <tr><td> 평균 : <? echo $avg;?> </td></tr> > </table> </body> </html> 프로그램실행결과 406.426 Design & Analysis of Database System 8

Install Apache Web Server Apache Web Server official web site http://httpd.apache.org Download Apache HTTP Server223 2.2.3 the best available version Win32 Binary file (apache_2.2.3-win32-x86- no_ssl.msi) 406.426 Design & Analysis of Database System 9

Install PHP Download PHP 5.1.6 zip ppackage [9,285Kb] - 24 Aug 2006 at http://www.php.net/downloads.php 406.426 Design & Analysis of Database System 10

Install All in One Apache + PHP + MySql + 관리도구 http://www.autoset.org/ Download latest version of 올가 Install Reboot. Web home directory C:\autoset\public_html http://localhost 406.426 Design & Analysis of Database System 11

Table of Contents 1. PHP 의시작과끝 2. 주석문 3. echo 문 4. 상수와변수 5. 연산자 406.426 Design & Analysis of Database System 12

PHP 의시작과끝 안녕하세요 ~~, 저는홍길동입니다. 출력 (hello.php) h PHP 시작 줄바꿈 1:<? 2 : echo " 안녕하세요 ~~<br>"; 3 : echo " 저는홍길동입니다.<br>"; 4 :?> PHP 끝 Web Home Directory 밑에실습폴더명 익스플로러주소창 : 익스플로러주소창 http://localhost/myfolder/hello2.php 406.426 Design & Analysis of Database System 13

주석문 comment.php 한줄주석처리 1:<? 2 : // 이프로그램은주석처리를설명하는프로그램입니다. 3 : /* 주석처리를여러줄 4 : 하고자하는경우는 5 : 이와같이합니다.*/ 6 : echo 이내용은출력됩니다."; 7 :?> 여러줄주석처리 406.426 Design & Analysis of Database System 14

echo 문 echo.php 1:<? 2: echo "---------------------- <br>"; 3 : echo " 거북이 <br>"; 4: echo " 토끼 <br>"; 5: echo "---------------------- <br>"; 6 : ECHO "&^%$&*%&&%*&(*(<br>"; 7: ECHO "---------------------- <br>"; 8: ECHO " 자동차 <br>"; 9: ECHO " 버스 <br>"; 10 : ECHO "---------------------- <br>"; 11 :?> 대소문자구분안함 ( 동일하게동작 ) 406.426 Design & Analysis of Database System 15

상수와변수 var.php 문자열변수 1:<? 2: $aaa =" 사과 "; 3 : echo "<br>"; 문자열상수 4 : echo $aaa; 5: 6: $aaa =" 오렌지 "; 7 : echo "<br>"; 8 : echo $aaa; 정수형변수 9: 10 : $aaa = 100; 11 : echo "<br>"; 12 : echo $aaa; 13 :?> 정수형상수 406.426 Design & Analysis of Database System 16

총점과평균구하기 sum_avg.php 1: <? 2: $kor =80; 3 : $eng =70; 총점구하기 4 : $math = 90; 5 : 6: $sum = $kor + $eng + $math; 7: $avg = $sum/3; 8 : 9 : echo (" 국어 :$kor<br>"); 평균구하기 10 : echo (" 영어 : $eng <br>"); 11 : echo (" 수학 : $math <br>"); 12 : echo (" 합계 :$sum<br>"); 13 : echo (" 평균 : $avg <br>"); 14 :?> 406.426 Design & Analysis of Database System 17

거스름돈계산하기 change.php 1: <? 2 : $money = 3000; // 지불한돈 주석문 3 : $price = 800; // 개당물건가격 4 : $num = 3; // 구매개수 5: 6: $change = $money - $price * $num; // 거스름돈 = 3000-800 * 3 7: 8 : echo (" 물건값 : $price <br>"); 9 : echo (" 구매개수 : $num <br>"); 10 : echo (" 지불액 : $money <br>"); 11 : echo (" 거스름돈은 $change 원입니다.<br>"); 12 :?> 406.426 Design & Analysis of Database System 18

산술연산자 연산자예결과 더하기 (+) 5 + 6 11 빼기 (-) 6-3 3 곱하기 () (*) 2 + 6 * 3 20 나누기 (/) 2-6 / 3 0 나머지 (%) 5 % 2 1 증가 (++) $a++ 현재 $a 값에서 1 증가 감소 (--) $a-- 현재 $a 값에서 1 감소 406.426 Design & Analysis of Database System 19

산술연산자예제 1 : <? 2: $a=3; 3: $b=2; 5 : $c = $a + $b; 7 : $b = $a * $b; 9 : $c = $a + $b * $c; 10 : 11 : echo "$a $b $c<br>"; 13 : $c = $a % $b; 14 : 15 : $b++; 17 : $a--; 18 : 19 : echo "$a $b $c<br>"; 20 :?> 406.426 Design & Analysis of Database System 20

점 (.) 연산자 1 : <? 2: $a=" 토끼 "; 3: $b=" 거북이 "; 4 : 5 : $c = $a.$b; 6: 7 : echo $a."<br>"; " 8 : echo $b."<br>"; 9 : echo $c."<br>"; 10 :?> 두개의문자열연결 406.426 Design & Analysis of Database System 21

대입연산자 연산자예동일한수식설명 = $a = 3 3 을변수 $a 에대입 += $a += 3 $a = $a +3 $a + 3 결과값을 $a 값에대입 -+ $a -= 3 $a = $a - 3 $a - 3 결과값을 $a 값에대입 *= $a *= 3 $a = $a * 3 $a * 3 결과값을 $a 값에대입 /= $a /= 3 $a = $a / 3 $a / 3 결과값을 $a 값에대입 %= $a %= 3 $a = $a % 3 $a % 3 결과값을 $a 값에대입.= $a.= "<br>" $a = $a."<br>" $a. <br>" 결과값을 $a 값에대입 406.426 Design & Analysis of Database System 22

대입연산자예제 1 : <? 2 : $a = 10; 4 : $a += 2; // $a = $a + 2 와동일 6 : $a -= 7; // $a = $a - 7 와동일 8 : $a *= 5; // $a = $a * 5 와동일 10 : $a /= 5; // $a = $a / 5 와동일 12 : $a %= 7; // $a =$a % 7 와동일 14 : 15 : $a = " 미키 "; 16 : $a.= " 마우스 "; // $a = $a. " 마우스 " 와동일 18 :?> 406.426 Design & Analysis of Database System 23

비교연산자 연산자예설명 == $a == $b $a 와 $b 가서로같은값을가지면참!= $a!= $b $a 와 $b 가서로다른값을가지면참 > $a > $b $a 의값이 $b 의값보다크면참 < $a < $b $a 의값이 $b 의값보다작으면참 >= $a >= $b $a 의값이 $b 의값보다크거나같으면참 <= $a <= $b $a 의값이 $b 의값보다작거나같으면참 406.426 Design & Analysis of Database System 24

논리연산자 연산 예 설명 자!!$a $a 가참이면거짓,$ $a 가거짓이면참 && ($a>$b) && ($c>$d) ($a>$b) ($c>$d) ($a>$b) 와 ($c>$d) 가둘다참이어야만참 ($a>$b) 와 ($c>$d) 가둘중하나만참이어도참 406.426 Design & Analysis of Database System 25

If ~ Else 예제 시험점수가 80 점이상이면합격 (pass.php) php) 참이면 5행실행거짓이면 7 행실행 1 : <? 2 : $score = 70; 3: 4 : if ($score >= 80) 5 : echo (" 점수가 {$score} 점이므로합격입니다.<br>"); 6: else 7 : echo (" 점수가 {$score} 점이므로불합격입니다.<br>"); 8:?> 406.426 Design & Analysis of Database System 26

If 조건식에사용되는비교연산자 연산자의미예결과값 == 같다 3 == 2 3 은 2 와같지않으므로거짓!= 같지않다 5!= 7 5 는 7 과같지않으므로참 > 크다 5 > 7 5 는 7 보다크지않으므로거짓 < 작다 8 < 10 8 은 10 보다작으므로참 >= 크거나같다 9 >= 9 크거나같다 에서 같다 조건에해당하여 참 <= 작거나같다 10 <= 7 10 은 7 보다작거나같지않으므로거짓 406.426 Design & Analysis of Database System 27

If 문예제 입장료가기본 10000 원, 7 세미만무료 (free_fee.php) fee 1 : <? 2 : $fee = 10000; 3 : $age = 5; 참인경우에만 7행실행 4 : 5: if ( $age < 7 ) 6: { 7 : $fee = 0; 변수를문자와분리 8: } 9: 10 : echo " 나이가 {$age} 세이므로입장료는 {$fee} 원입니다.<br>"; 11 :?> 406.426 Design & Analysis of Database System 28

홀수 / 짝수판별예제 odd.php 참인경우에는 5 행실행거짓인경우에는 7행실행 1:<? 2: $a=3; 3: 4 : if ($a % 2 == 1) 5 : echo "$a 은 ( 는 ) 홀수입니다.<br>"; 6: else 7 : echo "$a 은 ( 는 ) 짝수입니다.<br> <br>"; 8:?> 406.426 Design & Analysis of Database System 29

어떤수가 100 보다큰지를판별하는예제 comp_100.php php 참인경우에는 5 행실행거짓인경우에는 7 행실행 1:<? 2: $a =10; 3: 4: if ($a > 100) 5 : echo "$a 은 ( 는 ) 100 보다큽니다.<br> <br>"; 6: else 7 : echo "$a 은 ( 는 ) 100 보다크지않습니다.<br>"; 8 :?> 406.426 Design & Analysis of Database System 30

다이어트필요유무판별예제 diat.php 1: <? 5 : $h = 170; 6 : $w = 40; 7: $a = ($h-100)*0.9; 8 : 9 : echo (" 키 :$h<br>"); 10 : echo (" 몸무게 :$w<br>"); 11 : 12 : if ($w>$a) 13 : echo (" 다이어트가필요할지도모르겠군요.<br>"); 14 : else 15 : echo (" 다이어트가필요하지않군요.<br>"); 16 :?> 406.426 Design & Analysis of Database System 31

운전면허 필기 70 점이상, 실기 80 점이상합격 (pass2.php) php) 1: <? 2 : /* 운전면허합격조건은필기 70 점이상, 실기 80 점이상이어야 3: 합니다.*/ 5 : $pilgi = 75; 6 : $silgi = 86; 7: 8 : echo " 필기점수 : $pilgi<br>"; 9 : echo " 실기점수 : $silgi<br>"; 10 : 11 : if ($pilgi >= 70 and $silgi>=80) 12 : echo " 합격입니다 <br>"; 13 : else 14 : echo " 불합격입니다 <br>"; 15 :?> 406.426 Design & Analysis of Database System 32

다중 if-else 문예제 점수에따른등급표시 (grade.php) 1:<? 2 : $s = 80; 3: 4: if ($s>=95 && $s<=100) echo("$s A+ <br>"); 7 : elseif ($s>=90 && $s<=94) echo("$s A <br>"); 10 : elseif ($s>=85 && $s<=89) echo("$s B+ <br>"); 13 : elseif ($s>=80 && $s<=84 ) echo("$s B <br>"); 16 : elseif ($s>=75 && $s<=79 ) echo("$s C+ <br>"); 19 : elseif ($s>=70 && $s<=74 ) echo("$s C <br>"); 22 : elseif ($s>=65 && $s<=69 ) echo("$s D+ <br>"); 25 : elseif ($s>=60 && $s<=64 ) echo("$s D <br>"); 28 : else echo("$s F <br>"); 30 :?> 406.426 Design & Analysis of Database System 33

Switch 문 1 : switch ( 변수 ) 2: { 3: case 값1 : 변수의값이값1 인경우에실행됨 4 : 문장 1; 5: break; 6: case 값2 : 변수의값이값2 인경우에실행됨 7: 문장 2; 8: break; 9: case 값3 : 변수의값이값3 인경우에실행됨 10 : 문장 3; 11 : break; 12 : default : 나머지모든경우에실행됨 13 : 문장 4; 14 : } 406.426 Design & Analysis of Database System 34

Switch 문예제 1 : <? 2: $a=2; 4: switch( $a) 5: { 6 : case 0 : echo " 변수 \$a 가 0 이기때문에이줄이실행되었군요 ~~<br>"; 8: break; 9: case 1 : echo " 변수 \$a가 1이기때문에이줄이실행되었군요 ~~<br>"; 11 : break; 12 : case 2 : echo " 변수 \$a가 2이기때문에이줄이실행되었군요 ~~<br>"; 14 : break; 15 : case 3 : echo " 변수 \$a가 3이기때문에이줄이실행되었군요 ~~<br>"; 17 : break; 18 : default : echo " 변수 \$a가 0, 1, 2, 3에해당되지않는군요 ~~<br>"; 20 : } 21 :?> 406.426 Design & Analysis of Database System 35

While 문 while 문이용 1 에서 10 까지출력 (while_1_10.php) 10 1:<? 2 : $i = 1; // 초기값설정 3: 4: while ($i <= 10) // 조건식이거짓이될때까지 5행 ~8행반복실행 5 : { 6 : echo $i."<br>"; 7: $i++; // $i의값을1증가시킴 8: } 9:?> 406.426 Design & Analysis of Database System 36

While 문예제 while 문 1 ~ 10 까지합구하기 (while_sum_1_10.php) 10 1: <? 2 : $a=1; // 초기화 3: $sum=0; // 누적합초기화 4: 5 : while($a<=10) // $a 가 10 이될때까지 7 행과 8 행반복 6: { 7: $sum=$sum+$a; 8: $a++; // $a 값 1 증가 9: } 10 : 11 : echo("1에서 10까지자연수의합은 $sum 입니다.<br>"); 12 :?> 406.426 Design & Analysis of Database System 37

For 문 for 문을이용하여 1 ~ 10 출력하기 (for_1_10.php) 10 1 2 3 1:<? 2: for ($i=1; $i <= 10; $i++) // $i 가 1 부터 10까지 10번수행 3: { 4 : echo $i."<br>"; 5: } 4 6:?> 406.426 Design & Analysis of Database System 38

For 문을활용한덧셈예제 for 문 1 ~ 10 까지의합계 (for_sum_1_10.php) 10 1: <? 2 : 3 : $sum=0; 4: 5: for($a=1; $a<=10; $a++) // $a가 1에서 10까지 7행이 10번반복 6: { 7 : $sum=$sum+$a; 8: } 9: 10 : echo("1 에서 10 까지자연수의합은 $sum 입니다.<br> <br>"); 11 :?> 406.426 Design & Analysis of Database System 39

For 문을활용한구구단예제 구구단표만들기 (gugudan.php) 1: <? 2 : echo("--------------------- <br>"); 3: 4: for($a=2; $a<=9; $a++) 5 : { 6: for($b=1; $b<=9; $b++) 7: { 8 : $c = $a * $b; 9 : echo(" $a x $b = $c <br>"); 10 : } 11 : 12 : echo("--------------------- <br>"); 13 : } 14 :?> 406.426 Design & Analysis of Database System 40

While 문과 Do-While 문 while 문예제 조건식이앞에존재 1:<? 2 : $i = 100; 3: 4: while ($i <= 10) 5: { 6: echo $i."<br>"; 7: } 8:?> do ~ while 문예제 조건식이뒤에존재 1:<? 2 : $i = 100; 3: 4: do 5: { 6: echo $i."<br>"; 7: } while ($i <=10) ) 8:?> 406.426 Design & Analysis of Database System 41

배열이용합계와평균구하기 배열이용 5 과목의합계 / 평균 (array_avg.php) avg 1:<? 2 : // 배열이용합계, 평균구하기, 배열의원소는 0 부터시작 4: $score[0]=80; $score[1]=90; $score[2]=90; 7: $score[3]=99; $score[4]=78; 9 : 10 : $sum=0; 11 : for($a=0; $a<=4; $a++) 13 : $sum=$sum+$score[$a]; $sum+$score[$a]; 15 : 16 : $avg=$sum/5; 18 : echo(" 과목점수 : $score[0], $score[1], $score[2], $score[3], $score[4]<br>"); 19 : echo(" 합계 :$sum, 평균 : $avg <br>"); 20 :?> 406.426 Design & Analysis of Database System 42

array( ) 함수이용한 1 차원배열 array( ) 함수를이용 (array_func_avg.php) avg 1:<? 2 : // array() 함수를이용한배열이용합계, 평균구하기 4: $score = array(80, 90, 90, 99, 78); 5: 6 : $sum=0; 7: for($a=0; $a<=4; $a++) 9 : $sum=$sum+$score[$a]; 10 : 12 : $avg=$sum/5; 13 : 14 : echo(" 과목점수 : $score[0], $score[1], $score[2], $score[3], $score[4]<br>"); 15 : echo(" 합계 :$sum, 평균 : $avg <br>"); 16 :?> 406.426 Design & Analysis of Database System 43

배열과 for 문이용예제 1 차원배열예제 (array_a_b_c.php) a 1:<? 2 : for($i=0; $i<10; $i++) // $a 에 1 ~ 10 입력 3: $a[$i] = $i+1; 4: 5 : for($i=0; $i<10; $i++) // $b 에 101 ~ 110 입력 6: $b[$i] = $i+101; 7: 8 : for($i=0; $i<10; $i++) // $c 에 $a 와 $b 의합입력 9: $c[$i] = $a[$i] + $b[$i]; 10 : 11 : for($i=0; $i<10; $i++) // 화면에출력 12 : echo "$a[$i] + $b[$i] = $c[$i]<br>"; 13 :?> 406.426 Design & Analysis of Database System 44

2 차원배열예제 3 명학생 5 과목합계 / 평균 (array_2d_avg.php) avg 1:<? 2: // 2차원배열을이용한 3명의학생에대한 5과목합계와평균 4: $s[0][0]=79; $s[0][1]=90; $s[0][2]=60; $s[0][3]=45; $s[0][4]=80; 10: $s[1][0]=80; $s[1][1]=90; $s[1][2]=90; $s[1][3]=99; $s[1][4]=89; 16: $s[2][0]=45; $s[2][1]=85; $s[2][2]=90; $s[2][3]=99; $s[2][4]=84; 22 : for($a=0; $a<3; $a++) 23 : { $sum=0; 26 : for($b=0; $b<5; $b++) 28 : $sum=$sum+$s[$a][$b]; $ $ $ $ 30 : 31 : $avg=$sum/5; 32 : $student_num t = $a + 1; 33 : echo("$student_num 번째학생의성적 => 합계 :$sum, 평균 : $avg <br>"); } 35 :?> 406.426 Design & Analysis of Database System 45

함수정의및목적 함수정의 : PHP 코드들의집합으로써어떤역할을수행하는개체 함수사용목적 재사용 : 하나의함수를만들어놓으면다음부터그함수를계속해서재사용을할수있다. 예를들어평균을구하는부분을하나의함수로만들어놓으면평균을구하고싶을때마다그함수를사용하면된다. 모듈화 : 전체프로그램의복잡한문제를함수내부의문제로국한시켜프로그램을체계적으로쉽게프로그래밍을해나갈수있게만들어준다. 406.426 Design & Analysis of Database System 46

수학관련함수 함수명 abs( ) cos( ) 역할절대치구하기삼각형의코사인값구하기 date( () 현재날짜구하기 ceil( ) floor( ) round( ) log( ) 올림값구하기내림값구하기반올림값구하기로그값구하기 max( () 최대값구하기 406.426 Design & Analysis of Database System 47

반환 (retuen) 값이없는함수예제 함수를이용한두수의합 (func_plus_2num.php) php) 1:<? 2: function plus($a, $b) 3: { 함수정의 4: $c =$a +$b; 5: echo $c; 6: } 7 : 함수호출 8: plus(10, 20); 9 : echo "<br>"; 10 : plus(1000, 3000); 11 :?> 406.426 Design & Analysis of Database System 48

반환 (return) 값을가지는함수예제 반환값을가지는함수예 (func_plus_2num_ret.php php ) 1:<? 2 : function plus($a, $b) 3: { 4: $c = $a + $b; 6 : return $c; 7: } 8: 9: $result = plus(10, 20); 10 : echo $result."<br>"; 11 : 12 : $result = plus(1000, 3000); 13 : echo $result."<br>"; 14 :?> 함수정의 함수호출 406.426 Design & Analysis of Database System 49

함수이용정수합계 함수를이용하여정수의합계구하기 (func_hap.php) php) 1:<? 2 : // hap($a, $b) 함수는 $a 에서 $b 까지의합을구한다. 3: function hap($a, $b) 4: { 5 : $sum=0; 6: while($a <= $b) 7: { $sum=$sum+$a; 9 : $a++; } 11 : return $sum; 12 : } 14 : $from = 1; 15 : $to = 10; 17 : $total = hap($from, $to); 18 : echo("$from 에서 $to 까지의합은 $total 입니다.<br>"); 19 :?> 406.426 Design & Analysis of Database System 50

Plaza 계정신청 서울대정보화포털 (http://portal.snu.ac.kr) p 계정관리 유료시스템신청및관리에서신청 신청한 ID 와동일한입금명으로계좌입금 사용내역및입금조회확인 * 서울대학교 Plaza 서버이외개인 PC 를포함하여어떠한서버를사용해도무방합니다. 406.426 Design & Analysis of Database System 51

Plaza 시스템접속 http://di.snu.ac.kr/courses/db06/ Link 에서 Zterm.ext 다운로드 ( 이외 SSH Telnet이지원되는 Telnet program 사용해도무방 ) 406.426 Design & Analysis of Database System 52

Index.html 만들기 PLAZA 에접속하면자신의 Home directory 로들어가게되는데, 홈페이지를구성하기위하여가장먼저 public_html 디렉토리를만들고 index.html 을만들어야한다. 방법 ( 또는 PC 에서작성하여 FTP 로업로드 ) $mkdir public_html $cd public_ html vi index.html 다음과같이작성하고저장 <HTML> <BODY> Welcome, My Name is XXX. </BODY> </HTML> 406.426 Design & Analysis of Database System 53

Index.html 만들기 http://plaza.snu.ac.kr/~ p 아이디/index.html 접속 406.426 Design & Analysis of Database System 54

PHP 와 Mysql 연동하기 PHP 1>mysql _ connect() : 연결 2>mysql _ select _ db() : db 선택 3>mysql _ query() : 테이블쿼리 4>mysql _ fetch _array() 쿼리한값을배열에저장 5>echo() : 출력 6>mysql _ close() : 종료 1 6 2 kiny729 table 3 Mysql 5 4 test ccomo content 좋다 1>mysql 서버에연결한다. ;mysql _ connect(); 2>mysql _ select _ db() : mysql 안의 db 를선택 3>mysql 안의 db안의테이블에서쿼리를수행한다. (mysql db의테이블에서데이터를입력 / 삭제하거나쿼리수행 ) : mysql _ query(); 4> 쿼리수행한것을배열에저장해둔다. PHP에서사용할수있도록배열에저장 : mysql _ fetch _array() 사용 5>echo() 나 print() 를이용해서가져온값을찍는다. 모니터에표시한다. 6>mysql서버에연결을종료한다. mysql _ close() [ 메모리낭비방지 ] 406.426 Design & Analysis of Database System 55

PHP 와 Mysql 연동하기 $host= localhost $user= kiny729 (plaza mysql id) $password= 2082 (plaza mysql pw) $db= kiny729 (plaza mysql id) PHP 에서사용하는 DB (Mysql) 연동함수 $connect=mysql _ connect ( $host, $user, $password ); mysql _ select _db ( $db, $connect); result = mysql _ query ("create table diary_plus". "(num int(3) not null auto _ increment primary key,". "nal data, writer varchar(30),". contents blob, pw tinytext,". related int(3))", $db); db data-table 생성함수 406.426 Design & Analysis of Database System 56

PHP 와 Mysql 연동하기 <? $link = mysql _ connect ( localhost, root, root2 ) or die( 연결할수없다. ); $result = mysql _ drop _ db( zzz, $link); if( $result ){ echo 디비삭제성공 ; }else{ echo 실패 } mysql _ close ($link)?> echo() : 화면에문자열을출력하는함수이다. 안이나 ( ) 안에있는것을출력한다. 406.426 Design & Analysis of Database System 57

406.426 Design & Analysis of Database System 58 MySql 관리 (phpmyadmin)

MySql 관리 Check http://di.snu.ac.kr/courses/db07/ Database Modeling Tools DBMS Management Tools (Web or C/S version) 406.426 Design & Analysis of Database System 59

회원가입폼만들기 sign_up.php <form name="signup" action="add_user.php" method="post" target="_blank"> id : <input type="text" name="user_id" /> <br> password :<input type="password" name="user_password" /> <br> name : <input type="text" text name="user user_name name" /> <br> age : <input type="text" name="user_age" /> <br> <input type="submit" name="formbutton1"> <br> </form> 406.426 Design & Analysis of Database System 60

회원가입폼만들기 cont. <? add_user.php $link = mysql_connect( connect("localhost", "root", "root2") or die(" 연결할수없습니다."); //DB에접속 mysql_select_db("testdb") or die('could not select database'); //DB 선택 $query = "insert into user(user_id, user_password, user_name, user_age) values('".$user_id."', '".$user_password."', '".$user_name."', '".$user_age."')"; //query문작성 mysql_query($query) or die('query failed: '. mysql_error()); //query문실행?> <script language="javascript"> alert(" 회원가입이완료되었습니다."); window.close(); </script> 406.426 Design & Analysis of Database System 61

회원목록보여주기 show_users.php <? $link = mysql_connect( connect("localhost", "root", "root2") or die(" 연결할수없습니다."); //DB에접속 mysql_select_db("testdb") or die('could not select database'); //DB 선택 $query = "select user_id, user_name, user_age from user"; //query문작성 $result = mysql_query($query) or die('query failed: '. mysql_error()); //query문실행 while ($row = mysql_fetch_array($result)) { echo "user_id : ".$row[1]." user_name : ".$row[2]." user_age : ".$row[3]."<br>"; } // 출력?> 406.426 Design & Analysis of Database System 62

로그인 <form name = "loginform" action="login _ act.php" p method="post"> <h3>log In</h3> <h4>username:</h4> <input type="text" name="user_id"/> <h4>password:</h4> <input type="password" password name="user user_pw pw"/> <br><br> <input type="submit"> </form> 406.426 Design & Analysis of Database System 63

로그인 <??> session_start( start( ); $conn = mysql_connect($host, $user, $pass) or die ('Error connecting to mysql'); mysql_select_db( testdb ); $query = "SELECT user_id FROM user where user_id='$user_id' and password='$user_pw'"; $result = mysql_query($query); query($query); $success = null; if ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $success = $row[ user_id']; } mysql_close($conn); if (isset($success)) { $_SESSION['session_user_id'] = $user_id; echo " <script> document.location.href='/'; </script> "; } else { echo " <script> document.location.href='login_fail.php'; </script> "; } 406.426 Design & Analysis of Database System 64

로그인여부확인 <??> if (isset($_session['session_user_id'])) { echo " 로그인되어있습니다 "; echo "<a href='logout.php'>logout</a>"; } else { echo " 로그인되어있지않습니다 "; echo "<a href='login.php'>login</a>"; } 406.426 Design & Analysis of Database System 65