3일동안 안보기

정보 게시판

게시글이나 답변작성에 이렇게 하세요!

내용을 [code]소스코드[/code] 로 감싸시면 SyntaxHighlight 가 적용됩니다.

그누보드 카테고리 출력 (원하는 특정 카테고리의 조건으로 출력)

페이지 정보

profile_image
작성자 altip
댓글 0건 조회 1,786회 작성일 24-01-12 08:55

본문

원하는 특정 카테고리의 조건을 지정

하여 해당 조건에 맞는 카테고리만 출력하도록 변경해야 합니다.


아래는 PHP 코드에서 특정 카테고리만 출력하는 예시입니다. 이 예시에서는 `category_code`가 특정 값을 가지는 카테고리만 출력하도록 수정하였습니다.



</div>


<div class="item_category">

<ul>

<?php

$sql = "SELECT * FROM category WHERE use_yn = 'y' AND category_code = '특정_카테고리_코드' ORDER BY nm ASC";

$res = sql_query($sql);

while ($row = sql_fetch_array($res)) {

    ?><li><a href="?category_code=<?php echo $row["category_code"] ?>&n=<?php echo $row["number"] ?>" class="<?php if ($row["category_code"]==$category_code) echo "on"; ?>"><?php echo $row["nm"] ?>(<?php echo $row['fee_point']?>P)</a></li>

<?php } ?>

</ul>

</div>



위 코드에서 `'특정_카테고리_코드'` 부분을 원하는 특정 카테고리의 코드로 변경하면 해당 카테고리만 출력됩니다. 예를 들어, 만약 카테고리 코드가 'A'인 카테고리만 출력하고 싶다면,

 `'특정_카테고리_코드'`를 `'A'`로 변경하시면 됩니다.



특정 카테고리가 여러 개인 경우

해당하는 모든 카테고리를 출력하기 위해서는 SQL 쿼리를 수정해야 합니다. 이를 위해서는 `IN` 또는 `OR` 절을 사용하여 여러 카테고리 코드를 지정할 수 있습니다.


아래는 `IN` 절을 사용하여 여러 카테고리 코드를 지정하여 해당하는 모든 카테고리를 출력하는 예시입니다.



</div>


<div class="item_category">

<ul>

<?php

$specific_categories = array('카테고리_코드1', '카테고리_코드2', '카테고리_코드3'); // 원하는 특정 카테고리 코드들을 배열에 저장


$in_condition = "'" . implode("', '", $specific_categories) . "'"; // IN 절에 사용하기 위해 배열 요소들을 쉼표로 구분하여 문자열로 변환


$sql = "SELECT * FROM category WHERE use_yn = 'y' AND category_code IN ($in_condition) ORDER BY nm ASC";

$res = sql_query($sql);

while ($row = sql_fetch_array($res)) {

    ?><li><a href="?category_code=<?php echo $row["category_code"] ?>&n=<?php echo $row["number"] ?>" class="<?php if ($row["category_code"]==$category_code) echo "on"; ?>"><?php echo $row["nm"] ?>(<?php echo $row['fee_point']?>P)</a></li>

<?php } ?>

</ul>

</div>



랜덤한 순서로 카테고리를 가져오기 

위 코드에서 `$specific_categories` 배열에 원하는 카테고리 코드들을 추가하면 해당 카테고리들만 출력됩니다. 각 카테고리 코드는 쉼표로 구분되어 SQL 쿼리의 `IN` 절에 사용됩니다. 즉, '카테고리_코드1', '카테고리_코드2', '카테고리_코드3'와 같은 형태로 배열에 추가하면 됩니다.


카테고리를 랜덤으로 출력하려면 SQL 쿼리를 수정하여 랜덤한 순서로 카테고리를 가져오면 됩니다. 이를 위해 SQL 쿼리에서 `ORDER BY` 절을 사용하여 랜덤한 순서로 결과를 얻을 수 있습니다.


아래는 `ORDER BY RAND()`를 사용하여 카테고리를 랜덤으로 출력하는 예시입니다.


```php

</div>


<div class="item_category">

<ul>

<?php

$sql = "SELECT * FROM category WHERE use_yn = 'y' ORDER BY RAND()"; // 랜덤 순서로 카테고리 가져오기

$res = sql_query($sql);

while ($row = sql_fetch_array($res)) {

    ?><li><a href="?category_code=<?php echo $row["category_code"] ?>&n=<?php echo $row["number"] ?>" class="<?php if ($row["category_code"]==$category_code) echo "on"; ?>"><?php echo $row["nm"] ?>(<?php echo $row['fee_point']?>P)</a></li>

<?php } ?>

</ul>

</div>



카테고리를 랜덤으로 하나만 출력 

위 코드에서 `ORDER BY RAND()`를 사용하여 카테고리를 랜덤으로 출력합니다. 이렇게 하면 매번 페이지를 새로고침할 때마다 카테고리 순서가 랜덤하게 변경됩니다. 이제 웹 페이지에서 카테고리 목록을 표시할 때 마다 랜덤한 순서로 카테고리가 출력될 것입니다.


랜덤으로 하나의 카테고리만 출력하려면 SQL 쿼리를 조정하여 랜덤한 순서로 하나의 카테고리만 가져오면 됩니다. 이를 위해서는 `LIMIT` 절을 사용하여 가져올 레코드의 수를 1로 설정하면 됩니다.


아래는 `LIMIT 1`을 사용하여 랜덤으로 하나의 카테고리를 출력하는 예시입니다.



</div>


<div class="item_category">

<ul>

<?php

$sql = "SELECT * FROM category WHERE use_yn = 'y' ORDER BY RAND() LIMIT 1"; // 랜덤 순서로 하나의 카테고리 가져오기

$res = sql_query($sql);

if ($row = sql_fetch_array($res)) {

    ?><li><a href="?category_code=<?php echo $row["category_code"] ?>&n=<?php echo $row["number"] ?>" class="<?php if ($row["category_code"]==$category_code) echo "on"; ?>"><?php echo $row["nm"] ?>(<?php echo $row['fee_point']?>P)</a></li>

<?php } ?>

</ul>

</div>



위 코드에서 `ORDER BY RAND() LIMIT 1`를 사용하여 랜덤으로 하나의 카테고리만 가져오도록 설정하였습니다. 이렇게 하면 페이지를 새로고침할 때마다 랜덤하게 하나의 카테고리만 출력될 것입니다. `if ($row = sql_fetch_array($res))` 라인을 추가하여 결과가 없을 경우에는 출력하지 않도록 처리하였습니다. 이렇게 하면 카테고리가 하나도 없는 경우에도 오류가 발생하지 않고 안전하게 처리됩니다.

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 65건 1 페이지
정보 게시판 목록
번호 제목 글쓴이 조회 추천 비추천 날짜
65
lime 07-26 0 0 20
lime 20 0 0 07-26
64
아포칼립스 06-25 0 0 392
아포칼립스 392 0 0 06-25
63
아포칼립스 06-25 0 0 397
아포칼립스 397 0 0 06-25
62
물범 06-18 0 0 457
물범 457 0 0 06-18
61
아포칼립스 04-12 0 0 929
아포칼립스 929 0 0 04-12
60
아포칼립스 04-09 0 0 855
아포칼립스 855 0 0 04-09
59
아포칼립스 04-04 0 0 878
아포칼립스 878 0 0 04-04
58
아포칼립스 04-04 0 0 914
아포칼립스 914 0 0 04-04
57
아포칼립스 03-29 0 0 906
아포칼립스 906 0 0 03-29
56
아포칼립스 03-16 0 0 15233
아포칼립스 15233 0 0 03-16
55
아포칼립스 03-16 0 0 1152
아포칼립스 1152 0 0 03-16
54
아포칼립스 03-16 0 0 1143
아포칼립스 1143 0 0 03-16
53
altip 03-14 0 0 1102
altip 1102 0 0 03-14
52
아포칼립스 03-12 0 0 1113
아포칼립스 1113 0 0 03-12
51
altip 03-10 0 0 1173
altip 1173 0 0 03-10
50
altip 01-14 0 0 2342
altip 2342 0 0 01-14
49
altip 02-17 0 0 1590
altip 1590 0 0 02-17
48
altip 02-15 1 0 13164
altip 13164 1 0 02-15
47
altip 02-15 0 0 1535
altip 1535 0 0 02-15
46
altip 02-12 0 0 1585
altip 1585 0 0 02-12

검색

회원 로그인

SNS

포인트랭킹

1 lime 3,250점
2 Jake 2,130점
3 아포칼립스 1,509점
4 지누 1,205점
5 물범 1,100점
6 WaveDEV 1,100점
7 김민준 1,100점
8 레오 1,100점

접속자집계

오늘
1,171
어제
2,188
최대
3,492
전체
211,789