아래 추천인 순위 뽑기 다시 질문들여요 ~ 정보
아래 추천인 순위 뽑기 다시 질문들여요 ~본문
아래와 같이 하는게 맞는지요?
안되는것 같아서요 ㅜㅜ
추천받은 횟수랑 추천받은 회원 아뒤 등.. 출력하고 싶은데요
기간은 2009년 9월 1일 부터 10월 30일까지로 대략정하구요..
부탁드립니다.
<?
$sql = "SELECT mb_recommend, count( mb_recommend ) AS cnt FROM g4_member WHERE mb_recommend != '' AND mb_datetime BETWEEN '2009-09-01' AND '2009-10-30' GROUP BY mb_recommend ORDER BY cnt DESC ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
?>
<?=$row[mb_nick]?>
<? } ?>
안되는것 같아서요 ㅜㅜ
추천받은 횟수랑 추천받은 회원 아뒤 등.. 출력하고 싶은데요
기간은 2009년 9월 1일 부터 10월 30일까지로 대략정하구요..
부탁드립니다.
<?
$sql = "SELECT mb_recommend, count( mb_recommend ) AS cnt FROM g4_member WHERE mb_recommend != '' AND mb_datetime BETWEEN '2009-09-01' AND '2009-10-30' GROUP BY mb_recommend ORDER BY cnt DESC ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
?>
<?=$row[mb_nick]?>
<? } ?>
댓글 전체

<?=$row['mb_recommend']?>
이 query문을 자주 쓰신다면 index를 추가하세요.
alter table g4_member add index recommend ( mb_datetime, mb_recommend);
이 query문을 자주 쓰신다면 index를 추가하세요.
alter table g4_member add index recommend ( mb_datetime, mb_recommend);

제가 답변 해드린게 미흡한듯 해서 마무리 해드립니다.
위 쿼리에서는 이름을 불러올수는 없고요 쿼리를 한번 더 이용하셔야 됩니다.
<?
$sql = "SELECT mb_recommend, count( mb_recommend ) AS cnt FROM g4_member WHERE mb_recommend != '' AND mb_datetime BETWEEN '2009-09-01' AND '2009-10-30' GROUP BY mb_recommend ORDER BY cnt DESC ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$row1=sql_fetch("SELECT * from g4_member where mb_id = '$row[mb_recommend]'");
echo $i+1 . "등" . $row1[mb_nick] . "(" . $row[cnt] . ")<br>";
}
?>
순위를 10명까지 보여준다면 위 $sql 쿼리와 $result = sql_query($sql); 사이에 추가하세요
$sql .= " limit 0, 10"; //0 시작 부터 10 불러올갯수 입니다.
그리고 엑스엠엘님 답변도 쿼리응답 속도에 영향을 미치는 부분이니 꼭 참고 하시길 바랍니다.
위 쿼리에서는 이름을 불러올수는 없고요 쿼리를 한번 더 이용하셔야 됩니다.
<?
$sql = "SELECT mb_recommend, count( mb_recommend ) AS cnt FROM g4_member WHERE mb_recommend != '' AND mb_datetime BETWEEN '2009-09-01' AND '2009-10-30' GROUP BY mb_recommend ORDER BY cnt DESC ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$row1=sql_fetch("SELECT * from g4_member where mb_id = '$row[mb_recommend]'");
echo $i+1 . "등" . $row1[mb_nick] . "(" . $row[cnt] . ")<br>";
}
?>
순위를 10명까지 보여준다면 위 $sql 쿼리와 $result = sql_query($sql); 사이에 추가하세요
$sql .= " limit 0, 10"; //0 시작 부터 10 불러올갯수 입니다.
그리고 엑스엠엘님 답변도 쿼리응답 속도에 영향을 미치는 부분이니 꼭 참고 하시길 바랍니다.
라펜타님 감사합니다 ^^ 아래답변에서 채택에 드렸으니 이번 답변은 엑스엠엘님께 드리겠습니다.
두분다 감사합니다.
두분다 감사합니다.