일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 바람의나라연
- 걸스데이
- 나스닥
- 페그오
- 레어닉
- 막피범
- Eminem
- 2차신수
- 매일영어단어
- 폭선우의무덤
- 아이유
- 2차승급
- 미국주식
- 일본패치
- 수지
- 매일영어단어외우기
- 돌림판이벤트
- 모바일바람의나라
- 에미넴
- 북천황의감옥
- 영어단어
- 타라옷
- 페이트그랜드오더
- 보물수호
- 어린궁기
- 바람의나라
- 체마1등
- 매드클라운
- 주작의용천제일검
- 피렌체
- Today
- Total
티스의 이야기
PHP-데이터베이스에서 선택 메뉴생성 본문
PHP-데이터베이스에서 선택 메뉴생성 요즘 PHP프로그래밍 책을 보고 있다.
챕터 209.
데이터베이스에서 선택 메뉴를 생성하고 싶을 때
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>데이터베이스에서 선택 메뉴를 생성하고 싶을 때</title>
</head>
<body>
<div>
<form method="post" action="database_to_selectmenu.php">
<?php
// 데이터베이스 설정 레시피 257을 불러옵니다 레시피 041.
require_once__DIR__ . '/../../../../conf/database_conf.php';
// h() 함수 레시피 218를 불러옵니다.
require_once '../../../../lib/h.php';
try {
// MySQL 데이터베이스에 접속합니다 레시피 257.
$db = new PDO($dsn, $dbUser, $dbPass);
$db -> setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// SQL문을 준비합니다.
$sql = 'SELECT * FROM area ORDER BY id ASC';
$prepare = $db->prepare($sql);
// 쿼리를 실행합니다.
$prepare->execute ();
// 쿼리 결과의 경우 칼럼 이름을 키로 한 연관 배열에서 모든 행을 취득합니다 레시피 258.
$result = $prepare->fetchALL(PDO::FETCH_ASSOC);
echo '<select name="area">' . "\n";
// 실행 결과를 연관 배열에서 취득하고 foreach문으로 처리합니다.
foreach ($result as $row) {
echo ' <option value="' . h($row['id']) . '">' . h($row['area'])
. '</option>' . "\n";
}
echo '</select>' . "\n";
// 오류가 발생할 경우 PDOException 예외가 발생하므로 캐치합니다.
}catch (PDOException $e) {
echo '오류가 발생했습니다. 내용: ' . h($e->getMessage ());
}
if (isset($_POST['area'])){
$id = (int) $_POST['area'];
try{
// SQL문을 준비합니다.
$sql = 'SELECT * FROM area WHERE id = :id';
$prepare = $db->prepare($sql);
// SQL문의 플레이스 홀더에 값을 바인딩하고 쿼리를 실행합니다.
$prepare->bindValue(':id', $id, PDO::PARAM_INT);
$prepare->execute();
// 컬럼명을 키로 한 연관 배열에서 쿼리 결과를 1행만 취득합니다 레시피 259.
$row = $prepare->fetch(PDO::FETCH_ASSOC);
// 결과를 표시합니다.
if ($row !== false) {
echo '선택한 지역은: ' . h($row['area']);
}
} catch (PDOException $e) {
echo '오류가 발생했습니다. 내용: ' . h($e->getMessage ());
}
}
?>
<br>
<input type="submit" value="전송">
</form>
</div>
</body>
</html>
출처: 예제가 가득한 PHP프로그래밍
'프로그래밍' 카테고리의 다른 글
PHP-인증을 요구하고 싶은 페이지 (0) | 2016.06.14 |
---|---|
PHP-로그인 폼작성 (0) | 2016.06.13 |
무료 Ajax 강의 배우기 (0) | 2015.11.03 |
cmd 기본 (0) | 2015.08.12 |
HTML 배우기 첫수업 (0) | 2015.08.12 |