쿼리 질문드립니다. 채택완료
$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를 쓰면 됩니다.
</p>
<p><?php
include_once("./_common.php");</p>
<p>$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 ?></p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?php
include_once("./_common.php");</p>
<p> </p>
<p>$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'].", "; // 여기도 일부변경
}</p>
<p>?>
<?php echo $filename; // 여기도 조금 변경 ?></p>
<p> </p>
<p>
이렇게 변경해보세요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인