그누보드 카테고리를 각각 4가지 방법으로 불러오는 방법
페이지 정보
작성자 낙엽타는향기 댓글 0건 조회 5,265회 작성일 23-07-21 11:36본문
원하는 특정 카테고리의 조건을 지정
하여 해당 조건에 맞는 카테고리만 출력하도록 변경해야 합니다.
아래는 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))` 라인을 추가하여 결과가 없을 경우에는 출력하지 않도록 처리하였습니다. 이렇게 하면 카테고리가 하나도 없는 경우에도 오류가 발생하지 않고 안전하게 처리됩니다.
댓글목록
등록된 댓글이 없습니다.