렌덤 명언 출력문의 드립니다.
본문
<?
$sql = " select * from books ORDER BY RAND() LIMIT 1";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo $row['content'];
}
?>
books 칼럼에 명언을 약 200개 넣었습니다.
렌덤으로 출력을 하고자 하는데 출력이 안되고 위 소스넣은곳 부터 오류네요.
어떻게 해야 할까요?
답변 3
그누보드가 아니라 워드프레스 질문이군요.
그누보드는
sql_query 이지만 (그누보드는 함수를 재정의 되어 있습니다.)
mysql_query를 써야 합니다.
books 라는 테이블이 있다는 말씀이시죠?
일단 칼럼이라고 봤을떼에
$sql = " select * from 테이블명 ORDER BY RAND() LIMIT 1"
이렇게 돼야 하는게 맞습니다. book 라는 테이블에 content 라는 칼럼이 있는거라면
지금 작성해노신 문법에선 문제가 될게 없어보이거든요
테이블을 바꿔서 테스트 해본 결과 정상출력되시구요.
다른곳이 오류이신거 같은데..
kdhlove741 카톡 주시면 자세히 알려드릴게요
구문에 논리적 오류가 보입니다.
limit 1이면 한 개를 가져오는데
for 구문을 돌리고 있어요.
한개만 가져올 경우 for 구문은 필요없을 것 같네요.
$sql = " select content from books ORDER BY RAND() LIMIT 1";
$row = sql_fetch($sql);
echo $row['content'];