반응형

1. DB 스키마 구성(site3 데이터베이스의 article 테이블을 생성해주세요.)

테이블명 : article

article 테이블 칼럼 구성

id INT(10) UNSIGNED NOT NULL : 번호

AUTO_INCREMENT, PRIMARY KEY 옵션 추가

regDate DATETIME NOT NULL : 등록날짜

title CHAR(100) NOT NULL : 제목

body TEXT NOT NULL : 내용

hit INT(10) UNSIGNED NOT NULL : 조회수

DROP DATABASE IF EXISTS site1;
CREATE DATABASE site1;
USE site1;
CREATE TABLE article (
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    regDate DATETIME NOT NULL,
    title CHAR(100) NOT NULL,
    `body` TEXT NOT NULL,
    hit INT(10) UNSIGNED
);

 

2. config.php 파일 생성 (MySQL과 연결)

- 실행 http://localhost:8023/config.php

<?php
$Conn = mysqli_connect("ip주소", "loginId", "loginPw", "site3", 3036);


// 사용방법 (사용할 파일로가서 아래 코드 입력 후 진행)
<?php
require_once __DIR__ . '/../../config.php'; 

3. 게시글 작성 기능 (doWrite.php)

실행 : http://localhost:8023/article/doWrite.php?title=제목&body=내용

title이 제목이고, body가 내용인 새 글이 생성

<?php
require_once __DIR__ . '/../../config.php';

$title = $_GET['title'];
$body = $_GET['body'];

$sql = "
INSERT INTO article
SET regDate = NOW(),
title = '{$title}',
body = '{$body}'
";
mysqli_query($dbConn, $sql);

 

4. 게시글 리스팅 기능 (list.php)

실행 : http://localhost:8023/article/list.php

모든 게시물이 리스팅(HTML 테이블 태그 사용)

실행 : http://localhost:8023/article/list.php?searchKeyword=ㅋㅋ

title에 제목이라는 문구가 포함된 녀석이 모두 검색됨

SQL : SELECT * FROM article WHERE title LIKE '%ㅋㅋ%' ORDER BY id DESC;

<?php
require_once __DIR__ . '/../config.php';

if ( isset($_GET['searchKeyword']) == false ) {
    $sql = "
    SELECT *
    FROM article
    ORDER BY id DESC
    ";
} else {

    $searchKeyword = $_GET['searchKeyword'];
    $sql = "
    SELECT * 
    FROM article 
    WHERE title LIKE '%$searchKeyword%'
    ORDER BY id DESC;
    ";
}


$rs = mysqli_query($dbConn, $sql);

$articles = [];

while ( $row = mysqli_fetch_assoc($rs) ) {
    $rows[] = $row;
}

?>

<h1>게시물 리스트</h1>
<table border="1">
    <thead>
        <tr>
            <th>번호</th>
            <th>날짜</th>
            <th>조회수</th>
            <th>제목</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($rows as $row) { ?>
        <tr>
            <td>
                <a href="detail.php?id=<?=$row['id']?>">
                    <?=$row['id']?>
                </a>
            </td>
            <td>
                <?=$row['regDate']?>
            </td>
            <td>
                <?=$row['hit']?>
            </td>
            <td>
                <?=$row['title']?>
            </td>
        </tr>
        <?php } ?>
    </tbody>
</border>

 

5. 게시글 삭제 기능 (doDelete.php)

실행 : http://localhost:8023/article/doDelete.php?id=1

1번 게시물 삭제

SQL : delete from article where id = 1;

<?php
require_once __DIR__ . '/../../config.php';

$id = $_GET['id'];

$sql = "
DELETE FROM article
WHERE id = '{$id}'
";

mysqli_query($dbConn, $sql);

 

6. 게시글 수정 기능 (doModify.php)

실행 : http://localhost:8023/article/doModify.php?id=2&title=새 제목&body=새 내용

1번 게시물 수정(새 제목이고, body가 새 내용 으로 변경됨)

SQL : update article set title = '새 제목', body = '새 내용' where id = 2;

<?php
require_once __DIR__ . '/../../config.php';

$id = $_GET['id'];
$title = $_GET['title'];
$body = $_GET['body'];

$sql = "
UPDATE article
SET title = '{$title}',
body = '{$body}'
WHERE id = '{$id}'
";
mysqli_query($dbConn, $sql);

 

7. 게시글 디테일 기능 (detail.php)

실행 : http://localhost:8023/article/detail.php?id=3

3번글의 상세내용이 보여짐(HTML 테이블 태그 사용)

SQL : SELECT * FROM article WHERE id = 3;

SQL : UPDATE article SET hit = hit + 1 WHERE id = 3;

<?php
require_once __DIR__ . '/../../config.php';

$id = $_GET['id'];

$sql = "
UPDATE article
SET hit = hit + 1
WHERE id = '{$id}'
";

mysqli_query($dbConn, $sql);

$sql = "
SELECT *
FROM article
WHERE id = '{$id}'
";

$rs = mysqli_query($dbConn, $sql);
$article = mysqli_fetch_assoc($rs)

?>

<h1>게시물 리스트</h1>

<?php if ( $article == null) { ?>
<h2><?=$id?>번 게시물이 존재하지 않습니다.</h2>
<?php exit; } ?>

<table border="1">
    <tbody>
        <tr>
            <th>번호</th>
            <td><?=$article['id']?></td>
        </tr>
        <tr>
            <th>날짜</th>
            <td><?=$article['regDate']?></td>
        </tr>
        <tr>
            <th>조회수</th>
            <td><?=$article['hit']?></td>
        </tr>
        <tr>
            <th>제목</th>
            <td><?=$article['title']?></td>
        </tr>
        <tr>
            <th>본문</th>
            <td><?=$article['title']?></td>
        </tr>
        <tr>
            <th>비고</th>
            <td>
                <a href="doDelete.php?id=<?=$article['id']?>">삭제</a>
                <a href="list.php">리스트</a>
            </td>
        </tr>
    </tbody>
</border>
반응형
반응형

*PHP 개발환경 설치 메뉴얼

1. Visual Studio Code 설치 (https://code.visualstudio.com/)

- 설치시 추가작업선택 화면에 있는 체크박스 전부 체크 

2. XAMPP 설치

- 설치 시 APACHE, PHP, MySQL만 체크 나머지는 체크 해제 후 설치 진행.

3. XAMPP 설치 후 DB setting

1. MySQL 설정
- MySQL config 클릭 > my.ini 클릭
- 파일 내 mysqld 하단에 lower_case_table_names = 2 추가
- utf-8 찾아서 주석(#) 해제 진행(미 해제 했을 경우 한글 깨지는 현상 발생)
utf-8 기존)
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="D:/tools/XAMPP/mysql/share/charsets"
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION
log_bin_trust_function_creators=1

utf-8 주석해제)
# UTF 8 Settings
init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/tools/XAMPP/mysql/share/charsets"
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION
log_bin_trust_function_creators=1

2. APACHE 설정
- APACHE config 클릭 > Apache(httpd.conf) 클릭
- 파일 내 <Directory Require all denied를 Require all granted로 변경
- 설정 후 apache 재시작(stop > start)

4. 폴더 생성

- php 파일을 저장할 폴더 생성 ( c:\web_projects\site1\public 및 c:\web_projects\site2\public )

5. APACHE 포트 설정

- APACHE config 버튼 > Browse Apache > conf 폴더 > extra 폴더 > httpd-vhosts.conf 우 클릭, open with code(코드로 열기) 진행

- 기존 내용 전부 삭제 후 다음 코드 입력, 경로는 폴더 생성한 경로로 지정, 코드 입력 및 저장 완료 후 AHACHE 재시작(stop > start) 진행

Listen 8023
<VirtualHost *:8023>
DocumentRoot "C:/web_projects/site1/public"
</VirtualHost>
Listen 8024
<VirtualHost *:8024>
DocumentRoot "C:/web_projects/site2/public"
</VirtualHost>

6. SQLyog Community Edition 설치 (https://github.com/webyog/sqlyog-community/wiki/Downloads)

- 맨 처음 연결 시 새 버튼 클릭 > localhost 입력 > 연결

7. SQLyog 설정

- 맨 처음 실행시 세팅 진행

- 도구 > 환경설정 > 글꼴 & 편집기 설정 > SQL 편집기 변경 클릭 후 폰트 조절 진행 후 저장, 밑에 탭 크기는 8 에서 4로 변경, 삽입공간 체크

8. SQLyog 관리자 계정 만들기 (root 대신 사용할 계정)

- 아래 2개의 쿼리문 실행

- 이후부터는 root 계정이 아닌, 설정된 아이디, 비밀번호로 접속 가능하다.

1. 데이터베이스 생성 후
DROP DATABASE EXISTS 데이터베이스명;  // 데이트베이스 이미 존재하는 경우 삭제
CREATE DATABASE 데이터베이스명; // 새 데이터베이스 생성
USE 데이터베이스명; // 생성된 데이터베이스 사용

2. 사용자 계정 권한 설정 (관리자 계정 생성)
// 데이터베이스명 데이터베이스에 dlagusgh1 이라는 계정을 생성 - 모든 아이피로 접속가능, 비밀번호는 1234
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO `dlagusgh1`@`%` IDENTIFIED BY '1234'; 

// 데이터베이스명 데이터베이스에 dlagusgh1 이라는 계정을 생성 - IP는 로컬호스트, 비밀번호는 1234
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO `dlagusgh1`@localhost IDENTIFIED BY '1234';

예)
GRANT ALL PRIVILEGES ON *.* TO `dlagusgh1`@`%` IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON *.* TO `dlagusgh1`@localhost IDENTIFIED BY '1234';

 

반응형
반응형

* ip주소 등 확인방법

- ipconfig 입력 시 이더넷 어댑터 이더넷에 ip 주소 확인 가능( IPv4 : ip주소 )

-ping ip주소 입력 시 해당 ip 주소로 ping 보냄

 

* xampp

- APACHE 등 웹서버 온/ 오프 관리 등 가능한 프로그램

- APACHE start 클릭 > config 클릭 > <Browse> [Apache] 클릭

- conf > extra > httpd-vhosts.conf파일 우클릭 후 code로 열기 진행

- Listen 포트번호 에 있는 DocumentRoot 확인가능

xampp를 통해 기존에 설치된 웹 서버 관리 가능

 

*웹서버를 통해 웹브라우저로 텍스트 파일 등 공유 시

1. ip주소를 알아야 한다 : cmd로 확인 가능

2. 포트번호를 알아야 한다 : 8025 등 (파일 공유 위해 파일 보관해 둔 폴더 등 xampp에서 DocumentRoot)

3. 경로 :  DocumentRoot 안에 텍스트 파일만 넣어서 공유 할 경우 DocumentRoot경로/파일명.txt

(DocumentRoot 안에 별도 폴더(예) pp폴더) 안에 파일 넣어서 공유 할 경우 DocumentRoot경로/pp/파일명.txt)

4. 프로토콜 : http

위 사항 들 확인 후 상대방에게 공유를 위해 http:/ip주소:설정한 포트/파일명.txt 알려주면 상대방이 해당 파일 내용을 브라우저를 통해 확인 가능

( 별도 폴더 만든 후 그안에 있는 내용 공유하는 경우 http:/ip주소:설정한 포트/폴더명/파일명.txt 알려주면 공유가능)

- 나 자신의 주소로 들어갈때는 127.0.0.1 을 ip주소로 입력 시 들어갈 수 있음
http://127.0.0.1:8025/pp/k.txt

 

반응형
반응형

*XAMPP 설치

- https://www.apachefriends.org/index.html 에서 다운로드 후 설치 진행

- 설치 중간에 APAHE, MYSQL, PHP만 선택하여 설치

*Visual studio code 설치

- https://code.visualstudio.com/ 에서 다운로드 후 설치 진행

 

*PHP 실행 방법

- XAMPP 설치된 디렉터리 내 php 폴더 > php.exe 파일로 실행 가능하다.

- 바탕화면에 폴더 생성 > 우클릭 후 code로 열기 > 우클릭 후 new해서 a.php 생성

- 바탕화면에 생성한 폴더 내에 우클릭 후 여기서 파워 PowerShell창 열기 클릭

- c:\xampp\php\php.exe 입력 시 실행(설치된 경로 입력)

- 실행 후 CTRL + C로 빠져나간 뒤 입력어 입력하여 진행

- cls : 정리

- echo : 출력 ( echo "안녕";

- c:\xampp\php\php.exe a.php 입력 시 a.php 파일을 실행할 수 있다. (PHP 실행기)

- <?php ?> 태그이용하여 작업 가능.

- $변수명 : 변수 $dan = 3;

- 반복문

// 123출력

<?php

	$ dan = 3;

	for ( $i = 1; $i <= 3; $i++ ) {

		echo $i;

	}

?>



// 변수 활용

<?php

	$ dan = 3;

	for ( $i = 1; $i <= 3; $i++ ) {

		$rs = $dan * $i;

		echo "{$dan} * {$i} = $rs\n";

	}

?>
반응형

+ Recent posts