쿼리 질문드립니다.

쿼리 질문드립니다.

QA

쿼리 질문드립니다.

본문

<?php
include_once("./_common.php");

 

$sql = "select co_subject, co_id, co_content, co_seo_title from {$g5['g5_content']} where id='admin' order by rand() desc limit 1";
$query = mysql_query($sql);
while($data = mysql_fetch_assoc($query)) {
$filename .= "$data[co_subject]".", ";
}

?>
<?=$filename ?>

 

이렇게  하니깐 에러나오네요.

 

내용관리 페이지의 제목을 랜덤으로 나오게 하고 싶은데,,,, 그누4용 쿼리문을 약간 수정해서 그누5에 사용하니 안되네요....

이 질문에 댓글 쓰기 :

답변 2

본문에서 그누4용 쿼리라고 말씀하셨는데, 그누4와 그누5의 DB 스키마는 일부 상이한 부분이 있고, 또 내용관리 테이블(DB)에서 존재하지 않는 필드도 있습니다. 

co_seo_title 라는 필드는 존재하지 않고, id 라는 필드도 없어서 where 조건문으로 id가 'admin' 인 데이터를 불러오려고 해도 그런 조건 자체가 성립되지 않기에 나타나지 않는 것이 당연한 것이고요.

☞ DB스키마: http://www.gnuwiz.com/bbs/board.php?bo_table=gnu_tip&wr_id=75&page=2

아래 소스대로 하면, 내용관리 페이지의 제목이 랜덤하게 출력될 것입니다.

 

그리고, 본문에서 'mysql_query' 를 사용하셨는데, 이미 그누보드의 common.php 파일을 include_once 한 상태에서 mysql_query를 호출하면 DB 접속이 안된 상태이므로, sql_query을 사용하셔야 되고, 또 limit 가 '1' 인 상황에서는 굳이 while 내지 for, foreach 를 사용할 필요 없이 sql_fetch를 쓰면 됩니다.

 


<?php
include_once("./_common.php");
$data = sql_fetch(" select co_subject, co_id, co_content from {$g5['content_table']} order by rand() desc limit 1  ");
$filename = $data['co_subject'];
?>
<?=$filename ?>

<?php
include_once("./_common.php");
 
$sql = "select co_subject, co_id, co_content, co_seo_title from {$g5['g5_content']} where id='admin' order by rand() desc limit 1";
$query = sql_query($sql);    //이부분변경 
while($data = sql_fetch_array($query)) {    // 이부분변경
    $filename .= $data['co_subject'].", ";    // 여기도 일부변경
}
?>
<?php echo $filename;      // 여기도 조금 변경 ?>
 

 

이렇게 변경해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT