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 |