728x90
SMALL
1. 다음은 쪽지를 DB에 저장하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.
<?php $send_id = $_GET["send_id"]; $rv_id = $_POST['rv_id']; $subject = $_POST['subject']; $content = $_POST['content']; $content = ____________________($content, ENT_QUOTES); $regist_day = _______("Y-m-d (H:i)"); // 현재의 '년-월-일-시-분'을 저장 $con =_______("localhost", "user1", "12345", "sample"); $sql = "select * from members where id='$rv_id'"; $result = mysqli_query($con, $sql); $num_record = _______($result); if($num_record) { $sql = "insert into message (send_id, rv_id, subject, content, regist_day) "; $sql .= "values('$send_id', '$rv_id', '$subject', '$content', '$regist_day')"; _______($con, $sql); // $sql 에 저장된 명령 실행 } else { echo(" <script> alert('수신 아이디가 잘못 되었습니다!'); history.go(-1) </script> "); exit; } mysqli_close($con); // DB 연결 끊기 ?>
정답보기
htmlspecialchars
date
mysqli_connect
mysqli_num_rows
mysqli_query
<?php $send_id = $_GET["send_id"]; $rv_id = $_POST['rv_id']; $subject = $_POST['subject']; $content = $_POST['content']; $content = htmlspecialchars($content, ENT_QUOTES); $regist_day = date("Y-m-d (H:i)"); // 현재의 '년-월-일-시-분'을 저장 $con = mysqli_connect("localhost", "user1", "12345", "sample"); $sql = "select * from members where id='$rv_id'"; $result = mysqli_query($con, $sql); $num_record = mysqli_num_rows($result); if($num_record) { $sql = "insert into message (send_id, rv_id, subject, content, regist_day) "; $sql .= "values('$send_id', '$rv_id', '$subject', '$content', '$regist_day')"; mysqli_query($con, $sql); // $sql 에 저장된 명령 실행 } else { echo(" <script> alert('수신 아이디가 잘못 되었습니다!'); history.go(-1) </script> "); exit; } mysqli_close($con); // DB 연결 끊기 ?>
2. 다음은 수신/송신 쪽지함에서 DB에 저장된 쪽지의 목록을 보여주는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.
<?php $con = mysqli_connect("localhost", "user1", "12345", "sample"); $result = mysqli_query($con, $sql); $total_record = __________($result); // 전체 글 수 $scale = 10; // 전체 페이지 수($total_page) 계산 if ($total_record % __________ == 0) $total_page = floor($total_record/$scale); else $total_page = floor($total_record/$scale) + 1; // 표시할 페이지($page)에 따라 $start 계산 $start = ($page - 1) * $scale; $number = $total_record - $start; for ($i=$start; $i<$start+$scale && $i < $total_record; $i++) { __________ ($result, $i); // 가져올 레코드로 위치(포인터) 이동 __________ = mysqli_fetch_array($result); // 하나의 레코드 가져오기 $num = $row["num"]; $subject = $row["subject"]; $regist_day = $row["regist_day"]; if ($mode=="send") $msg_id = $row["rv_id"]; else $msg_id = $row["send_id"]; $result2 = __________($con, "select name from members where id='$msg_id'"); $record = mysqli_fetch_array($result2); $msg_name = $record["name"]; /*생략 */ $number--; } mysqli_close($con); ?>
정답보기
mysqli_num_rows
$scale
mysqli_data_seek
$row
mysqli_query
<?php $con = mysqli_connect("localhost", "user1", "12345", "sample"); $result = mysqli_query($con, $sql); $total_record = mysqli_num_rows($result); // 전체 글 수 $scale = 10; // 전체 페이지 수($total_page) 계산 if ($total_record % $scale == 0) $total_page = floor($total_record/$scale); else $total_page = floor($total_record/$scale) + 1; // 표시할 페이지($page)에 따라 $start 계산 $start = ($page - 1) * $scale; $number = $total_record - $start; for ($i=$start; $i<$start+$scale && $i < $total_record; $i++) { mysqli_data_seek($result, $i); // 가져올 레코드로 위치(포인터) 이동 $row = mysqli_fetch_array($result); // 하나의 레코드 가져오기 $num = $row["num"]; $subject = $row["subject"]; $regist_day = $row["regist_day"]; if ($mode=="send") $msg_id = $row["rv_id"]; else $msg_id = $row["send_id"]; $result2 = mysqli_query($con, "select name from members where id='$msg_id'"); $record = mysqli_fetch_array($result2); $msg_name = $record["name"]; /*생략 */ $number--; } mysqli_close($con); ?>
3. 다음은 쪽지의 내용을 보여주는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.
<div id="message_box"> <h3 class="title"> <?php $mode = $_GET["mode"]; $num = $_GET["num"]; $con = _________("localhost", "user1", "12345", "sample"); $sql = "_________ * from message where num=$num"; $result = _________($con, $sql); $row = _________($result); $rv_id = $row["rv_id"]; $regist_day = $row["regist_day"]; $subject = $row["subject"]; $content = $row["content"]; $content = _________(" ", " ", $content); $content = _________("\n", "<br>", $content); if ($mode=="send") $result2 = mysqli_query($con, "select name from members where id='$rv_id'"); else $result2 = mysqli_query($con, "select name from members where id='$send_id'"); $record = ________($result2); $msg_name = $record["name"]; if ($mode=="send") echo "송신 쪽지함 > 내용보기"; else echo "수신 쪽지함 > 내용보기"; ?> </h3> <ul id="view_content"> <li> <span class="col1"><b>제목 :</b> <?=$subject?></span> <span class="col2"><?=$msg_name?> | <?=$regist_day?></span> </li> <li> <?=$content?> </li> </ul> </div>
정답보기
mysqli_connect
select
mysqli_query
mysqli_fetch_array
str_replace
str_replace
mysqli_fetch_array
<div id="message_box"> <h3 class="title"> <?php $mode = $_GET["mode"]; $num = $_GET["num"]; $con = mysqli_connect("localhost", "user1", "12345", "sample"); $sql = "select * from message where num=$num"; $result = mysqli_query($con, $sql); $row = mysqli_fetch_array($result); $rv_id = $row["rv_id"]; $regist_day = $row["regist_day"]; $subject = $row["subject"]; $content = $row["content"]; $content = str_replace(" ", " ", $content); $content = str_replace("\n", "<br>", $content); if ($mode=="send") $result2 = mysqli_query($con, "select name from members where id='$rv_id'"); else $result2 = mysqli_query($con, "select name from members where id='$send_id'"); $record = mysqli_fetch_array($result2); $msg_name = $record["name"]; if ($mode=="send") echo "송신 쪽지함 > 내용보기"; else echo "수신 쪽지함 > 내용보기"; ?> </h3> <ul id="view_content"> <li> <span class="col1"><b>제목 :</b> <?=$subject?></span> <span class="col2"><?=$msg_name?> | <?=$regist_day?></span> </li> <li> <?=$content?> </li> </ul> </div>
4. 쪽지 기능을 구현하는 데 사용되는 PHP 함수에 관한 물음에 답하시오.
① 문자열에 포함된 특수 문자를 HTML 특수 기호로 변환하는 함수는 무엇인가?
② 소수점 이하를 내림한 정수를 반환하는 함수는 무엇인가?
③ 레코드 집합 내로 포인터를 이동하는 함수로, 이 함수를 수행한 후 mysqli_fetch_array() 함수가 호출되면 포인터가 지시하는 레코드를 가져오는 것은 무엇인가?
정답보기
① htmlspecialchars()
② floor()
③ mysqli_data_seek()
728x90
LIST
'PHP' 카테고리의 다른 글
PHP 프로그래밍 입문 3판 연습문제 15장 정답 정리 (0) | 2023.12.22 |
---|---|
PHP 프로그래밍 입문 3판 연습문제 14장 정답 정리 (0) | 2023.12.22 |
PHP 프로그래밍 입문 3판 연습문제 12장 정답 정리 (1) | 2023.12.22 |
PHP 프로그래밍 입문 3판 연습문제 11장 정답 정리 (1) | 2023.12.22 |
PHP 프로그래밍 입문 3판 연습문제 10장 MySQL 조작 정답 정리 (2) | 2023.05.04 |