MySQL 연동 PHP 프로그래밍 기초.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
Chapter06 폼 HTML5 Programming.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
MySQL API에서는 MySQL 내장 함수를 제공한다.
13장 공지사항 한빛미디어(주).
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
11장 방명록 한빛미디어(주).
Chapter 7. 조건문.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
Chapter04 HTML 회원 정보 입력 양식 만들기
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
14장 질의응답 한빛미디어(주).
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
07장. <TABLE> 태그로 표 디자인하기
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
16장 설문조사 한빛미디어(주).
2주차: 변수, 수식, Control Flow.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
6장. printf와 scanf 함수에 대한 고찰
KHS JDBC Programming 4 KHS
KIM HEESANG PL/SQL 2 KIM HEESANG
11장. 1차원 배열.
DB연동하기 원격db접속.
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
HTML.
어서와 C언어는 처음이지 제14장.
[부록] HTML과 CGI (from PHP 웹 프로그래밍) 문양세 강원대학교 IT대학 컴퓨터과학전공.
인터넷응용프로그래밍 JavaScript(Intro).
게임웹사이트운영 [10] 폼 작성.
9장 웹 사이트 초기 화면 제작 한빛미디어(주).
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
JSP Programming with a Workbook
15장 자료실 한빛미디어(주).
Data Base Web Programming
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
폼 관련 태그 폼 양식 직접 만들어보기 회원가입 절차 4단계
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
2장. 변수와 타입.
08장 쿠키와 세션.
17장 웹 사이트 제작 완성 한빛미디어(주).
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
CHAP 21. 전화, SMS, 주소록.
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Chapter 10 데이터 검색1.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
9 브라우저 객체 모델.
Data Base Web Programming
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
6 객체.
Presentation transcript:

MySQL 연동 PHP 프로그래밍 기초

기본적인 HTML 태그

HTML 테이블 예

HTML 소스 <html> <title>MySQL+PHP 연동 프로그램입니다.</title> <body> <center><h1>학생 리스트</h1> <table border=2 bgcolor=white> <tr> <td>학번</td><td>이름</td><td>학과</td><td>전화번호</td> </tr> <td>S006</td> <td>황정숙</td> <td>사학과</td> <td>678-9012</td> <td>S005</td> <td>김상진</td>

HTML 소스 <td>사학과</td> <td>567-8901</td> </tr> <tr> <td>S002</td> <td>최민국</td> <td>컴퓨터공학과</td> <td>234-5678</td> <td>S001</td> <td>박소명</td> <td>123-4567</td> </table> </center> </body> </html>

HTML 태그 태 그 설 명 <html> … </html> HTML 문서의 시작과 끝을 나타낸다. <title> … </title> 웹 브라우저 윈도우 창의 제목을 나타낸다. <body> … </body> HTML 문서의 본문을 나타낸다. <center>… </center> 문자열을 가운데 정렬하여 나타낸다. <table>… </table> 테이블 형태로 데이터를 표현한다. <tr> … </tr> 테이블의 한 행을 표현한다. <td> … </td> 행의 한 컬럼 데이터를 표현한다.

PHP 기초

C:\Apache\htdocs 밑에 본인의 실습 폴더 PHP의 시작과 끝 PHP 시작 줄바꿈 1 : <?  2 :       echo "안녕하세요~~<br>";  3 :       echo "저는 홍길동입니다.<br>";  4 : ?> PHP 끝 C:\Apache\htdocs 밑에 본인의 실습 폴더 http://localhost/hkd/hello2.php 익스플로러 주소창 :

주석문 한 줄 주석처리 1 : <? 2 : // 이 프로그램은 주석처리를 설명하는 프로그램입니다.  1 : <?  2 :   // 이 프로그램은 주석처리를 설명하는 프로그램입니다.  3 :   /* 주석처리를 여러 줄  4 :      하고자하는 경우는  5 :      이와 같이 합니다.*/  6 :   echo "요건 출력됩니다.";  7 : ?> 여러 줄 주석처리

echo 문 1 : <? 2 : echo "---------------------- <br>"; 대소문자 구분 안함(동일하게 동작) 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 : ?>

변수 여러 가지 값을 취하는 문자라는 뜻 변수명 : 기억장소의 이름 변수값 : 변수명에 저장되는 값 변수명 : 기억장소의 이름 변수값 : 변수명에 저장되는 값 예 : aaa에 111을 기억시키면 aaa는 변수명 $aaa = 111 조건 변수명 앞에는 반드시 ‘$’를 표시 변수명은 대소문자 구별 ‘$’이후 알파벳이나 ‘_’가 변수명이나 한글보다 가장 먼저와야 함 변수명 길이의 한계가 없음 변수값 정의시 HTML 태그나 기타 특수문자가 들어가면 반드시 큰따옴표와 작은 따옴표를 사용해야 함 변수명 뒤에 ‘.’이 있고 그 뒤에 다시 따옴표를 한 HTML태그나 문자열 자료 형태에 따라 정수형(integer), 부동 소수점 수(floating-point number), 문자열형(string)으로 구분

상수와 변수 문자열 변수 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 : ?> 문자열 상수 정수형 변수 정수형 상수

총점과 평균 구하기 1 : <? 2 : $kor =80; 3 : $eng =70; 4 : $math = 90; 5 :  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 : ?> 총점 구하기 평균 구하기

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

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

$a.“<br>" 결과값을 $a 값에 대입 대입 연산자 연산자 예 동일한 수식 설명 = $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 값에 대입

비교 연산자 연산자 예 설명 == $a == $b $a와 $b가 서로 같은 값을 가지면 참 != $a != $b > $a > $b $a의 값이 $b의 값보다 크면 참 < $a < $b $a의 값이 $b의 값보다 작으면 참 >= $a >= $b $a의 값이 $b의 값보다 크거나 같으면 참 <= $a <= $b $a의 값이 $b의 값보다 작거나 같으면 참

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

정수형의 표현 <? $intp = 123; //양의정수 $intm = -123; //음의정수 $int16 = 0x10; //선행기호가 0x이면, 16진수 echo (“양의정수 : $intp <br>”); echo (“음의정수 : $intm <br>”); echo (“8진수 : $int8 <br>”); echo (“16진수 : $int16 <br>”); ?>

실수형의 표현 <? $number1=0.001; $number2=1.2E3; //1.2*10³ echo $number1.“<br>”; echo $number2.“<br>”; echo $number3.“<br>”; ?>

MySQL 관련 PHP 함수

MySQL 연동 PHP 프로그램 구성 MySQL 서버와 연결 설정 데이터베이스 선택 SQL 실행 버퍼 해제 MySQL 서버와 연결 종료

PHP와 MySQL 연동 함수 MySQL 연결 데이터베이스 선택 SQL 실행 연결변수 = mysql_connect(호스트, 사용자이름, 패스워드); $db = mysql_connect(“localhost”,“sjlee”,“pppp”); 데이터베이스 선택 mysql_select_db(데이터베이스, 연결변수); mysql_select_db(“education”, $db); SQL 실행 결과변수 = mysql_query(SQL 명령, 연결변수); $result = mysql_query(“select * from student”, $db);

PHP와 MySQL 연동 함수 SQL 수행결과 레코드 추출, 컬럼 추출 버퍼해제 연결종료 mysql_result(결과변수,인덱스,필드명); mysql_result($result, $i, scode); 레코드변수 = mysql_fetch_array(결과변수); $row = mysql_fetch_array($result); 레코드변수[필드이름] 또는 레코드변수[인덱스] $row[scode] 또는 $row[0] 버퍼해제 mysql_free_result(결과변수); 연결종료 mysql_close(연결변수);

학생 테이블 출력 프로그램 <html> <title>MySQL+PHP 연동 프로그램입니다.</title> <body> <?php // 화일명 : 학생 리스트를 출력하는 liststudent.php echo "<center><h1>학생 리스트</h1>\n"; $conn = mysql_connect('localhost','sjlee',‘ppppp') or die("MySQL 서버 연결 에러"); mysql_select_db('education',$conn) or die("DB 오픈 에러"); $result = mysql_query("select * from student",$conn); echo "<table border=2 bgcolor=white>\n"; echo "<tr>\n"; echo "<td>학번</td><td>이름</td><td>학과</td><td>전화번호</td>\n"; echo "</tr>\n"; $rows = mysql_num_rows($result); // 전체 레코드의 수 반환 $i = 0;

학생 테이블 출력 프로그램 while ( $i < $rows ) { echo "<tr>\n"; echo "\t<td>" . mysql_result($result, $i, scode) . "</td>\n"; echo "\t<td>" . mysql_result($result, $i, sname) . "</td>\n"; echo "\t<td>" . mysql_result($result, $i, sdept) . "</td>\n"; echo "\t<td>" . mysql_result($result, $i, sphone) . "</td>\n"; echo "</tr>\n"; $i++; } echo "</table>\n"; echo "</center>\n"; mysql_free_result($result); mysql_close($conn); ?> </body> </html> \n -> 줄바꿈, \t -> 수평탭

폼 입력 값을 통한 데이터 검색

FORM 태그 HTML에서 사용자 입력을 받는 태그 METHOD <FORM NAME=“폼이름” METHOD=[POST|GET] ACTION=“실행문서”> <INPUT TYPE=[TEXT|PASSWORD…] NAME=“변수명” VALUE=“초기값”> <INPUT TYPE=[SUBMIT|RESET] VALUE=“버튼이름”> </FORM> METHOD 사용자 입력을 웹서버에 전달하는 방식을 지정 POST 방식은 웹 브라우저의 주소입력 부분에 입력 값이 표시되지 않는다. GET 방식은 입력값이 표시

FORM 태그 ACTION INPUT 태그 SUBMIT 버튼 클릭 시 실행되는 웹 서버 상의 프로그램 지정 입력변수의 데이터 타입, 크기 등과 같은 속성 지정 문자열 입력 시 TYPE 속성은 “TEXT” 암호 입력 시 TYPE 속성은 “PASSWORD” NAME 속성으로 입력변수 지정

학생 검색 화면 웹 브라우저 화면에서 학생 이름을 입력받아 학생에 대한 신상 데이터를 검색 출력하는 프로그램 입력화면

select.html <html> <title>폼 입력 예제......</title> <body> <center> <h3>검색하려는 학생 이름을 입력하세요</h3> <form name="PHP" method=post action="select.php"> 학생이름 : <input type=text name="fname"><br><br> <input type=submit value="검색"> <input type=reset value="취소"> </form> </center> </body> </html>

select.php <html> <title> 학생 검색 </title> <body> <center> <?php // 화일명 : select.php echo "입력된 폼 변수값 : " . $fname . "<br><br>\n"; $conn = mysql_connect('localhost',‘sjlee','pppp'); mysql_select_db('education',$conn); $result = mysql_query("select * from student where sname = '$fname'",$conn); echo "검색된 결과 ===><br><br>\n";

select.php while ( $row = mysql_fetch_array($result) ) { echo "학번: " . $row[scode] . "<br>\n"; echo "이름: " . $row[sname] . "<br>\n"; echo "학과: " . $row[sdept] . "<br>\n"; echo "전화: " . $row[sphone] . "<br>\n"; } mysql_free_result($result); mysql_close($conn); ?> </center> </body> </html>

실행결과

데이터 입력 처리 프로그램

입력 화면

insert-st.html <html> <meta http-equiv="Content-Type" content="text/html; charset=euc-kr"> <title>학생 레코드 입력...</title> <body> <center> <h3>학생 카드 입력</h3> <form name="PHP" method=post action="insert-st.php"> 학번 : <input type=text name="scode"><br> 이름 : <input type=text name="sname"><br> 학과 : <input type=text name="sdept"><br> 전화 : <input type=text name="sphone"><br><br> <input type=submit value="저장"> <input type=reset value="취소"> </form> </center> </body> </html>

insert-st.php <html> <title> 학생 레코드 저장 </title> <body> <center> <?php // 화일명 : insert-st.php $conn = mysql_connect('localhost',‘sjlee',‘pppp'); mysql_select_db('education',$conn); $sql = "insert into student (scode, sname, sdept, sphone) "; $sql = $sql . " values ('$scode', '$sname', '$sdept', '$sphone')"; $result = mysql_query($sql,$conn); $result = mysql_query("select * from student where sname = '$sname'",$conn);

insert-st.php echo "저장된 학생 레코드 ===><br><br>\n"; while ( $row = mysql_fetch_array($result) ) { echo "학번: " . $row[scode] . "<br>\n"; echo "이름: " . $row[sname] . "<br>\n"; echo "학과: " . $row[sdept] . "<br>\n"; echo "전화: " . $row[sphone] . "<br>\n"; } mysql_free_result($result); mysql_close($conn); ?> </center> </body> </html>

실행결과

데이터 수정 처리 프로그램

데이터 수정 절차 검색된 레코드의 변경할 필드를 입력받아 수정 수정절차 update-st.php 변경하려는 레코드가 테이블에 있는지 확인 기존의 필드들을 출력 데이터 수정을 위해 새로운 필드값 입력 입력받은 필드값으로 테이블 수정 update-st.php Form 태그와 php 액션 프로그램을 같은 파일 => $PHP_SELF 이용 INPUT 태그의 hidden 속성, readonly 속성 사용

수정처리 화면 1

수정처리 화면 2

update-st.php <html> <title> 학생 레코드 수정 </title> <body> <center> <font size=+1><b>학생 카드 검색 및 수정</b></font> <form name="search" method=post action="<?php echo $PHP_SELF; ?>"> 이름 : <input type=text name="sname" value="<?php echo $sname;?>"><br> <input type=hidden name=mode value='search'><br> <input type=submit value="검색"> <input type=reset value="취소"> </form> <hr><br> <?php // 화일명 : update-st.php

update-st.php if ( $sname ) { $conn = mysql_connect('localhost','prof','phpmysql'); mysql_select_db('education',$conn); if ( $mode == 'update' ) { $sql = "update student set scode='$scode', sname='$sname',"; $sql = $sql . " sdept='$sdept', sphone='$sphone' where scode='$scode'"; $result = mysql_query($sql,$conn); } $result = mysql_query("select * from student where sname = '$sname'",$conn); $row = mysql_fetch_array($result); echo "<font size=+1><b>학생 카드 수정</b></font>\n"; echo "<form name=update method=post action=$PHP_SELF>\n"; echo "학번 : <input type=text name=scode "; echo " readonly value=$row[scode]><br>\n";

update-st.php echo "이름 : <input type=text name=sname value=$row[sname]><br>\n"; echo "학과 : <input type=text name=sdept value=$row[sdept]><br>\n"; echo "전화 : <input type=text name=sphone value=$row[sphone]><br><br>\n"; echo "<input type=hidden name=mode value='update'>\n"; echo "<input type=submit value='수정'> "; echo "<input type=reset value='취소'>\n"; echo "</form>"; echo "<hr><br>\n"; mysql_free_result($result); mysql_close($conn); $sname = ""; } ?> </center> </body> </html>

데이터 삭제 처리 프로그램

데이터 삭제 절차 레코드의 이름을 입력받아 삭제 수정절차 delete-st.php 삭제하려는 레코드가 테이블에 있는지 확인 기존의 필드들을 출력 데이터 삭제 delete-st.php 앞의 데이터 수정과 유사 SQL로 DELETE 문장 사용

삭제 화면

delete-st.php <html> <title> 학생 레코드 삭제 </title> <body> <center> <font size=+1><b>학생 카드 검색 및 삭제</b></font> <form name="search" method=post action="<?php echo $PHP_SELF; ?>"> 이름 : <input type=text name="sname" value="<?php echo $sname;?>"><br> <input type=hidden name=mode value='search'><br> <input type=submit value="검색"> <input type=reset value="취소"> </form> <hr><br> <?php // 화일명 : delete-st.php

delete-st.php if ( $sname ) { $conn = mysql_connect('localhost','prof','phpmysql'); mysql_select_db('education',$conn); if ( $mode == 'delete' ) { $sql = "delete from student where scode = '$scode'"; $result = mysql_query($sql,$conn); } $result = mysql_query("select * from student where sname = '$sname'",$conn); $row = mysql_fetch_array($result); echo "<font size=+1><b>학생 카드 삭제</b></font>\n"; echo "<form name=delete method=post action=$PHP_SELF>\n"; echo "학번 : <input type=text name=scode readonly value=$row[scode]><br>\n"; echo "이름 : <input type=text name=sname readonly value=$row[sname]><br>\n"; echo "학과 : <input type=text name=sdept readonly value=$row[sdept]><br>\n"; echo "전화 : <input type=text name=sphone readonly value=$row[sphone]><br><br>\n";

delete-st.php echo "<input type=hidden name=mode value='delete'>\n"; echo "<input type=submit value='삭제확인'> "; echo "<input type=reset value='취소'>\n"; echo "</form>"; echo "<hr><br>\n"; mysql_free_result($result); mysql_close($conn); $sname = ""; } ?> </center> </body> </html>

테이블 레코드를 출력하는 SQL 문장 처리기

SQL 문장 처리기 구성 SELECT 문장을 입력 받아서 실행시킨 결과를 스프레드시트 형태로 출력하는 프로그램 프로그램 파일 구성 스타일 정의 파일(style.inc) SQL 문장을 입력받아 데이터베이스를 검색하는 메인 구동 파일(sqltest.php) 검색결과 출력형식에 관한 라이브러리 파일(table.inc)

실행화면 예 table title table head table row

스타일 시트 스타일 시트는 태그에 사용될 속성을 미리 정의하여 전체 페이지의 일관성 유지 style.inc 스타일 파일 <A> 태그 속성 마우스가 앵커(anchor) 텍스트 위로 움직이면 밑줄 그려짐 <H1>,<H2>, <BODY>,<TD>,<TH> 태그 속성 폰트의 종류, 크기 지정

style.inc <STYLE TYPE="text/css"> <!-- A { text-decoration: none; } A:hover { text-decoration: underline; } H1 { font-family: arial,helvetica,sans-serif; font-size: 18pt; font-weight: bold;} H2 { font-family: arial,helvetica,sans-serif; font-size: 14pt; font-weight: bold;} BODY,TD { font-family: arial,helvetica,sans-serif; font-size: 10pt; } TH { font-family: arial,helvetica,sans-serif; font-size: 11pt; font-weight: bold; } --> </STYLE>

SQL 문장 처리기(sqltest.php) style.inc, table.inc 포함 require 문 form 문으로 sql 문장 입력 받아서 action으로 자신의 프로그램 호출 stripslashes() 함수 호출 Php는 폼 변수의 입력된 문자 중 ‘, “ 는 \’, \”로 입력 받기 때문에 이를 제거 ereg_replace() 함수 호출 SQL 의 끝에 붙은 ; 제거 mysql_query() 함수로 SQL 실행 mysql_list_result() 함수 호출하여 테이블 출력

sqltest.php 1 <?php // 화일명 : SELECT SQL 실행 sqltest.php ?> <html> <head> <title> Select SQL 문장 실행</title> <meta http-equiv="Content-Type" content="text/html; charset=euc-kr"> </head> <body> require("style.inc"); require("table.inc"); <center> <form name="PHP" method=post action="<?php echo $PHP_SELF; ?>"> SELECT 문장<br>   <textarea name='sql' rows=4 cols=50 ></textarea><br><br>

sqltest.php 2 <input type=submit value="실행"> <input type=reset value="취소"> </form> </center> <center> <?php /* http://www.php.net/manual/function.addslashes.php Php doesn't strip the slashes when info comes out of the database. The difference here is that php4 automatically adds slashes to incomming variables (from a post/get) and php3 didn't. So if you're adding slashes manually, suddenly you have double. Either drop your second addslashes() or add a stripslashes to the beginning to all the variables that come in. */ if ( $sql ) { $sql = stripslashes($sql); $sql = ereg_replace ("\;","",$sql); // ';' 문자 제거

sqltest.php 3 $conn = mysql_connect('localhost','sjlee','pppp') or die("MySQL 서버 연결 실패"); mysql_select_db('education',$conn) or die("DB 선택 실패"); $result = mysql_query($sql,$conn); if ( $result ) { mysql_list_result ($sql, $result, $head); mysql_free_result($result); } mysql_close($conn); $sql = ""; ?> </center> </body> </html>

테이블 출력 라이브러리 함수(table.inc) mysql_list_result() 검색 결과를 테이블 형태로 출력 검색어 타이틀, 검색결과, 테이블 헤딩을 인수로 받음 mysql_data_seek(): 검색결과의 레코드의 위치 지정 mysql_num_fields(): 검색된 레코드의 필드 개수 반환 mysql_field_name(): 지정된 필드 이름 반환 mysql_fetch_row(): 검색 결과를 한 레코드 씩 읽기 table_title_tr(): 타이틀 출력하고 테이블 태그 속성 지정 table_head_array(): 테이블의 헤딩을 출력 table_row_array(): 테이블의 내용을 출력 table_end(): 테이블의 끝 표시

기타 함수(table.inc) table_title(): 타이틀 출력하고 테이블 태그 속성 지정 table_title_tab(): 타이틀을 별도의 테이블로 출력 table_head(): 가변 인수의 테이블 헤드 출력 table_row(): 가변인수의 테이블 내용 출력 list_vars(): 배열변수를 테이블 형태로 표시 alist_vars(): 배열 변수 속에 배열이 있는 경우 리스트 blist_vars(): 연관배열 중에서 숫자 인덱스는 제외하고 테이블로 표시

table.inc 1 <?php // 테이블 관련 출력 라이브러리 : table.inc function table_title( $title ) { echo "<h2>$title</h2>\n"; echo "<table border=0 cellpadding=3 cellspacing=1"; echo " width=400 bgcolor='#000000'>\n"; } function table_end( ) { echo "</table>\n"; function table_head ( ) { echo "<tr valign='bottom' bgcolor='#9999CC'>\n"; $numargs = func_num_args(); for ( $i = 0 ; $i < $numargs; $i++ ) { echo "<th>"; echo func_get_arg($i) . "</th>\n"; echo "</tr>\n";

table.inc 2 function table_row ( ) { echo "<tr valign='baseline' bgcolor='#CCCCCC'>\n"; $numargs = func_num_args(); for ( $i = 0 ; $i < $numargs; $i++ ) { echo "<td bgcolor='#CCCCFF'>"; echo func_get_arg($i) . "</td>\n"; } echo "</tr>\n"; // 배열 변수를 테이블 형태로 표시 function list_vars ( $title, $vars ) { if ( $vars ) { reset($vars); table_title($title); table_head("변수명","변수값");

table.inc 3 while ( list($key,$value) = each($vars) ) { table_row($key,$value); } table_end(); // 배열 변수 속에 배열이 있는 경우 리스트 function alist_vars ( $title, $vars ) { if ( $vars ) { reset($vars); table_title($title); table_head("변수명","변수값"); if ( gettype($value) == "array" ) $array_vars[$key] = $value;

table.inc 4 reset($array_vars); while ( list($key,$value) = each($array_vars) ) { list_vars($key, $value); } // 연관 배열 중에서 숫자 인덱스 필드는 제외하고 테이블 형태로 표시 function blist_vars ( $title, $vars ) { if ( $vars ) { reset($vars); table_title($title); table_head("변수명","변수값"); while ( list($key,$value) = each($vars) ) { if ( is_numeric( $key ) ) continue; table_row($key,$value); table_end();

table.inc 5 // MySQL result를 spreadsheet 형태로 표시 function mysql_list_result ( $title, $result, $head ) { if ( $result ) { mysql_data_seek($result, 0); if ( !$head ) { $num = mysql_num_fields( $result ); for ( $i = 0 ; $i < $num ; $i++ ) { $head[$i] = mysql_field_name ( $result, $i); } $num = sizeof ( $head ); table_title_tr($title, $num); // table_title_tab($title, $num); table_head_array ( $head ); $i = 0;

table.inc 6 while ( $row = mysql_fetch_row($result) ) { if ( $i % 2 ) $color = '#CCCCFF'; else $color = '#e4e4e4'; table_row_array( $row, $color); $i++; } table_end(); function table_title_tr( $title, $colspan ) { echo "<table border=0 cellpadding=3 cellspacing=1"; echo " width=400 bgcolor='#000000'>\n"; echo "<tr align='left' valign='middle' bgcolor='#9999CC'>\n"; echo "<td valign='middle' colspan=$colspan bgcolor='#333366'>"; echo "<h2><font color='#ffffff'>$title</font></h2>"; // echo "<table><tr><h2>$title</h2></tr></table>"; // echo "<font size=+1>$title</ font>"; echo "</td>"; echo "</tr>\n";

table.inc 7 function table_title_tab ( $title, $colspan ) { echo "<table width=400 border=0 cellspacing=0 cellpadding=0 "; echo "bordercolorlight=#FFFFFF bordercolordark=#333333>\n"; echo "<tr bgcolor='#333366'>\n"; echo "<td colspan=$colspan height=25> "; echo "<font color='#FFFFFF' size=3>"; echo "<b>  $title</b></font>\n"; echo "</td>\n"; echo "</tr>\n"; echo "</table>\n"; echo "<table border=0 cellpadding=3 cellspacing=1 width=400"; echo " bgcolor='#000000'>\n"; } function table_head_array ( $head ) { echo "<tr valign='bottom' bgcolor='#9999CC'>\n"; $numargs = sizeof ( $head ); for ( $i = 0 ; $i < $numargs; $i++ ) { echo "<th>"; echo $head[$i] . "</th>\n";

table.inc 8 echo "</tr>\n"; } function table_row_array ( $row, $color = '#CCCCFF' ) { echo "<tr valign='baseline' bgcolor='#CCCCCC'>\n"; $numargs = sizeof ( $row ); for ( $i = 0 ; $i < $numargs; $i++ ) { echo "<td bgcolor=$color>"; echo $row[$i] . "</td>\n"; ?>

실행화면 예