반응형

PHP 데이터베이스와 연동하여 게시물 조회

<?php

$dbConn = mysqli_connect("127.0.0.1", "root", "", "article") or die("MySQL 연결 실패");


// url에 넘어온 파라미터를 받아옴
$id = $_GET["id"];


// 넘어온 값을 이용하여 데이터 조회하는 쿼리문
$sql = "select * from article where id = ".$id;


// $resultSet에 실행 결과 저장
$resultSet = mysqli_query($dbConn, $sql);


// $reslutSet에 담긴 자료 중 첫번째 row를 $detail에 저장
$detail = mysqli_fetch_assoc($resultSet);

?>

 

출력

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <?php if ($detail != null) { ?>
    <h1>
        상세페이지
    </h1>
    번호 : <?= $detail['id']?><br>
    작성일자 : <?= $detail['regDate']?><br>
    수정일자 : <?= $detail['updateDate']?><br>
    제목 : <?= $detail['title']?><br>
    <?php }else { ?>
        <div><?=$id?>번째 글은 존재하지 않습니다.</div>
    <?php } ?>    
    <button type="button" onClick="location.href='../list.php'">리스트로</button>

</body>
</html>
반응형

'Programming > PHP' 카테고리의 다른 글

[PHP] 세션을 이용한 로그인 기능 구현  (0) 2021.05.31
[PHP] 줄바꿈 처리  (0) 2021.05.26
[PHP] 데이터베이스 연동  (0) 2021.05.24
[PHP] 반복문(for, while, foreach)  (0) 2021.05.24
[PHP] 변수 선언  (0) 2021.05.24
반응형

PHP 데이터베이스와 연동

<?php


// MySQL과 연동하기 위한 커넥션 생성
$dbConn = mysqli_connect("127.0.0.1", "DB접속 아이디", "DB접속 패스워드",
"스키마 이름") or die("실패 시 출력할 문구");

// MySQL에서 데이터를 가져오기 위한 쿼리문 작성
$sql = "select * from article order by id desc";


// ResultSet에 $dbConn과 $sql을 인자값으로 전달
$rs = mysqli_query($dbConn, $sql);


// 데이터를 담을 배열을 생성
$articles = array();

while (true) {
	$article = mysqli_fetch_assoc($rs);
    
    // 더 이상 불러올 row가 없을 때 break
    if ($article == null) {
    	break;
    }
	
    // 불러온 row를 배열에 저장
    $articles[] = $article;
}
?>

1) $dbConn : mysqli_connect라는 메소드를 사용하여 MySQL과 연동하여 커넥션 값을 저장하는 변수이다.

2) $sql : 데이터베이스에서 자료를 불러오기 위한 쿼리문을 저장하는 변수이다.

3) $rs : mysqli_query(커넥션, 쿼리) 메소드를 실행하여 불러온 데이터를 저장하는 변수이다.

4) $articles : 데이터베이스에서 가져온 데이터를 저장하기 위한 배열이다.

5) $article : mysqli_fecth_assoc($rs)를 이용하여 불러온 데이터 중 다음 row가 있을 시 그 row 값을 담는 변수이다.

6) $articles[] = $article : 생성된 배열에 하나의 row씩 저장한다.

 

데이터베이스에서 가져온 자료 출력

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>게시물 리스트</h1>
    <hr>
    <div>
        <?php foreach ($articles as $article) {?>
            번호 : <?= $article['id']?><br>
            작성일자 : <?= $article['regDate']?><br>
            수정일자 : <?= $article['updateDate']?><br>
            제목 : <?= $article['title']?><br>
            <hr>
        <?php } ?>
    </div>
</body>
</html>

foreach문을 이용하여 $articles에 들어가 있는 자료(article)가 없을 때까지 반복하여 출력한다.

출력된 페이지

반응형

'Programming > PHP' 카테고리의 다른 글

[PHP] 세션을 이용한 로그인 기능 구현  (0) 2021.05.31
[PHP] 줄바꿈 처리  (0) 2021.05.26
[PHP] 게시물 조회  (0) 2021.05.24
[PHP] 반복문(for, while, foreach)  (0) 2021.05.24
[PHP] 변수 선언  (0) 2021.05.24
반응형

PHP의 반복문은 자바나 C언어와 거의 같다.

for문

for문은 for(초기값; 조건값; 증감값)으로 사용한다.

<?php


for ($x = 0; $x < 10; $x++) {
    echo "<div>번호 : ".$x."</div>";
}

?>

foreach문

foreach문은 foreach($배열 혹은 리스트의 변수명 as 변수)로 사용한다.

<?php

$arrays = [];

$arrays[] = "서울";
$arrays[] = "도쿄";
$arrays[] = "워싱턴";
$arrays[] = "런던";

foreach ($arrays as $array) {
    echo $array."<br>";
}

?>

while문

while문은 while(조건)으로 사용한다.

<?php

$x = 1;

while($x < 10) {
    echo "<div>번호 : ".$x."</div>";
    $x++;
}

?>
반응형

'Programming > PHP' 카테고리의 다른 글

[PHP] 세션을 이용한 로그인 기능 구현  (0) 2021.05.31
[PHP] 줄바꿈 처리  (0) 2021.05.26
[PHP] 게시물 조회  (0) 2021.05.24
[PHP] 데이터베이스 연동  (0) 2021.05.24
[PHP] 변수 선언  (0) 2021.05.24
반응형

변수 선언

PHP에서는 C언어, Java와는 다르게 변수의 타입을 명시할 필요가 없고 선언 시에는 아래와 같은 규칙을 지켜야 한다.

1) 변수 앞에 '$' 표시를 붙인다.

2) 문자 혹은 '_'로 시작한다.

3) 변수명은 문자, 숫자, '_'의 조합만 사용 가능하다.

4) 변수는 대소문자를 구분한다.

5) 변수의 선언만 단독으로 할 수 없으므로 무조건 초기값을 설정해야 한다. 

$name = "rooney";

$name2; // 초기값 설정이 안 돼 있으므로 오류 발생

$number1 = 1;

$number2 = 3.14;

위처럼 변수에 타입을 지정하지 않아도 되며 변수 선언 시 초기화가 반드시 필요하다.

반응형

'Programming > PHP' 카테고리의 다른 글

[PHP] 세션을 이용한 로그인 기능 구현  (0) 2021.05.31
[PHP] 줄바꿈 처리  (0) 2021.05.26
[PHP] 게시물 조회  (0) 2021.05.24
[PHP] 데이터베이스 연동  (0) 2021.05.24
[PHP] 반복문(for, while, foreach)  (0) 2021.05.24

+ Recent posts