테스트 사이트 - 개발 중인 베타 버전입니다

php 문법 질문드립니다~ 채택완료

brocolly 2년 전 조회 2,280

php나 jquery로 구현하려고 하는데요,

 

배열로

 

1번 항목 = [인사말,회사소개,제품소개]

2번 항목 = [인사말 작은글,회사소개 작은글,제품소개 작은글]

 

요런식으로 값을 미리 주고

 

wr_id = 1 이면

 

헤드 부분에 페이지 제목으로

1번 항목의 1 , 2번 항목의 1 을 불러오고 싶습니다.

 

인사말
인사말 작은글

이렇게 표시해주고 싶은데 방법이 궁금합니다~!

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
2년 전

</p>

<p><?php

$arr = [

    'head' => ['N/A', '인사말','회사소개','제품소개'],

    'desc' => ['N/A', '인사말 작은글','회사소개 작은글','제품소개 작은글']

];</p>

<p>$wr_id = (isset($_REQUEST['wr_id']) == true) ? $_REQUEST['wr_id'] : 0;

$wr_id = (int)$wr_id;

// $wr_id = 2;

if ($wr_id < 0 || $wr_id >= count($arr['head'])) {

    $wr_id = 0;

}</p>

<p> </p>

<p>echo 'php: ' . $arr['head'][$wr_id] . ' / ' . $arr['desc'][$wr_id];

?></p>

<p> </p>

<p><hr></p>

<p> </p>

<p><script>

var arr = <?php echo json_encode($arr); ?>;</p>

<p>var params = new URLSearchParams(window.location.search);

var wr_id = (params.has('wr_id') == true) ? params.get('wr_id').replace(/[\D]/g, '') : 0;

wr_id = Number(wr_id);

// wr_id = 2;

if (wr_id < 0 || wr_id >= arr['head'].length) {

    wr_id = 0;

}</p>

<p> </p>

<p>document.write('JavaScript: ' + arr['head'][wr_id] + ' / ' + arr['desc'][wr_id]);

</script></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
2년 전

</p>

<p><?php

$a = ['인사말','회사소개','제품소개'];

$b = ['인사말 작은글','회사소개 작은글','제품소개 작은글'];

$wr_id = 1; // 예제

$key = $wr_id - 1;

if ($key >= 0) {

    echo $a[$key];

    echo $b[$key];

}</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

들레아빠

php

</p>

<p><?php

// 미리 정의된 배열

$sections = array(

    array("인사말", "회사소개", "제품소개"),

    array("인사말 작은글", "회사소개 작은글", "제품소개 작은글")

);</p>

<p>// 특정 wr_id에 해당하는 섹션을 선택

$wr_id = 1;

$selectedSection = $sections[$wr_id - 1];</p>

<p>// 페이지 제목 부분에 선택된 섹션을 출력

echo $selectedSection[0] . "
";

echo $selectedSection[1];

?>

jquery

</p>

<p><!DOCTYPE html>

<html>

<head>

    <title>페이지 제목</title>

    <script src="<a href="https://code.jquery.com/jquery-3.6.0.min.js"></script>" target="_blank" rel="noopener noreferrer">https://code.jquery.com/jquery-3.6.0.min.js"></script></a>

</head>

<body>

    <div id="page-title"></div></p>

<p>    <script>

        // 미리 정의된 배열

        var sections = [

            ["인사말", "회사소개", "제품소개"],

            ["인사말 작은글", "회사소개 작은글", "제품소개 작은글"]

        ];</p>

<p>        // 특정 wr_id에 해당하는 섹션을 선택

        var wr_id = 1;

        var selectedSection = sections[wr_id - 1];</p>

<p>        // 페이지 제목 부분에 선택된 섹션을 출력

        $("#page-title").html(selectedSection[0] + "
" + selectedSection[1]);

    </script>

</body>

</html></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

b
brocolly
2년 전
답변 감사합니다.
위 두 소스로 테스트 해보니,
wr_id = 1 일 경우나 2일 경우나 모두

인사말
회사소개

이렇게만 표시가 됩니다. 인사말 작은글은 나오지 않고,
첫번째 배열의 0,1 값이 그냥 노출되는데 어떻게 수정을 해야할까요?
들레아빠
2년 전
[code]
<?php
// 미리 정의된 배열
$sections = array(
    array("인사말", "회사소개", "제품소개"),
    array("인사말 작은글", "회사소개 작은글", "제품소개 작은글")
);

// 특정 wr_id에 해당하는 섹션을 선택
$wr_id = 1;
$selectedSection = ($wr_id == 1) ? $sections[0] : $sections[1];

// 페이지 제목 부분에 선택된 섹션을 출력
echo $selectedSection[0] . "<br>";
echo $selectedSection[1];
?>
[/code]

댓글을 작성하려면 로그인이 필요합니다.

$title1 = Array("0" => "인사말", "1" => "회사소개", "3" => "제품소개");
$title2 = Array("0" => "인사말 작은글", "1" => "회사소개 작은글", "3" => "제품소개 작은글");
이렇게 배열 만드시고 
echo $title1[$view['wr_1']]
echo $title2[$view['wr_1']]
이렇게 하면 wr_1 값에 따라서 다르게 나옵니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

b
brocolly
2년 전
답변감사합니다.
여분필드 wr_1 의 값이 아닌 글 번호 wr_id 값에 맞게 변경을 하고 싶으면 어떻게 수정하면 될까요?
설국열차
2년 전
이것을 목록에서 하신다면
echo $title1[$list[$i]['wr_1']]
echo $title2[$list[$i]['wr_1']]
이렇게 하고
외부 페이지에서 어떤 게시물의 내용을 가져 온 경우라면
그에 맞게 $list[$i] 나 $view 이 부분을 수정해 주면 될 것입니다.
게시물 불러오는 함수는

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인