view 페이지에서 해당 게시물의 wr_1 값의 순위를 구하고 싶습니다. 비교 대상은 해당 보드의 전체 게시물입니다.
본문
AAAA 게시판 전체 글을 대상으로
view 페이지에서
현재 개시물의 wr_1의 순위를 구하고 싶습니다.
예를들어
이런 구조일때
레몬 게시물을 클릭하여 view 페이지에 들어가면 해당 게시물의 wr_1 순위가 나오게 되는것인데요
어떻게 해야할까요ㅠㅠ
이전글에 이렇게 남겼었는데
포스트잍님께서
SELECT * FROM aaaa WHERE wr_subject = '레몬' order by wr_1 desc limit 2,1
이런 방법을 알려주셨습니다.
그런데 echo 로 뽑아오는 방법을 모르겠습니다.
해당 코드를 넣은 위치는 view.skin.php 이고
<?php
$bowrid = $view['wr_id']; // 해당 게시물 wr_id
$sql = " select * from g5_write_AAAA where wr_id = '$bowrid' order by wr_1 desc limit 2,1";
$result = sql_query($sql);
echo '<p style="color:#fff100;">순위 : '.$result.'</p>';
?>
검색에 검색해서 이렇게 해봤는데
$result = sql_query($sql);
이 부분에서 에러를 뿜는것 같습니다..
sir 고수님 도와주세요 ㅠㅠ
답변 2
그렇게 사용하시면 안되고 다음 처럼 sql_fetch_array 함수를 사용해 다시 불러와야 합니다.
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo $row[$i]);
}
// 결과값에서 한행 연관배열(이름으로)로 얻는다.
function sql_fetch_array($result)
{
if(function_exists('mysqli_fetch_assoc') && G5_MYSQLI_USE)
$row = @mysqli_fetch_assoc($result);
else
$row = @mysql_fetch_assoc($result);
return $row;
}
// mysqli_query 와 mysqli_error 를 한꺼번에 처리
// mysql connect resource 지정 - 명랑폐인님 제안
function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
//$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
$sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);
if(function_exists('mysqli_query') && G5_MYSQLI_USE) {
if ($error) {
$result = @mysqli_query($link, $sql) or die("<p>$sql<p>" . mysqli_errno($link) . " : " . mysqli_error($link) . "<p>error file : {$_SERVER['SCRIPT_NAME']}");
} else {
$result = @mysqli_query($link, $sql);
}
} else {
if ($error) {
$result = @mysql_query($sql, $link) or die("<p>$sql<p>" . mysql_errno() . " : " . mysql_error() . "<p>error file : {$_SERVER['SCRIPT_NAME']}");
} else {
$result = @mysql_query($sql, $link);
}
}
return $result;
}