채택완료

sql을 묶어서 하나의 리스트로 만들려면

2015-10-18 (일) 07:23:14 2,318

최신글뽑아오는 lib소스인데요.

빨간부분에 표시한 코드를 한번에 묶어서

0~3 $i 로 출력을 하고싶거든요.

function latest_mark($skin_dir='', $code='')
{
    global $g5;

 $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
        $latest_skin_url  = G5_SKIN_URL.'/latest/'.$skin_dir;

    $list = array();

$sql = " select * from g5_mark where mark2 !='' order by CAST(mark2 AS UNSIGNED) DESC limit 0, 1 ";

$sql = " select * from g5_mark where mark6 !='' order by CAST(mark6 AS UNSIGNED) DESC limit 0, 1 ";

$sql = " select * from g5_mark where mark10 !='' order by CAST(mark10 AS UNSIGNED) DESC limit 0, 1 ";

$sql = " select * from g5_mark where mark14 !='' order by CAST(mark14 AS UNSIGNED) DESC limit 0, 1 ";
     
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
    $list[$i] = $row;
 $list[$i]['id'] = $row['wr_id'];
    $list[$i]['href'] = G5_BBS_URL.'/board.php?bo_table=mysys&wr_id='.$row['wr_id'];
 $list[$i]['mb_id'] = $row['mb_id'];
    $list[$i]['nick'] = get_sideview($row['mb_id']);
   
    ob_start();
    include $latest_skin_path.'/latest.skin.php';
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}  

|

답변 1개

채택된 답변
+20 포인트

구조를 잘 알고 있다면 JOIN등을 써서 가져오는게 일반적이나...

위 질문사항에서 제가 가장 쉽게 해드릴수 있는 건 union 을 쓰라는 답변밖에 못드리겠습니다.

 

 $sql = "
   select * from g5_mark where mark2 !='' order by CAST(mark2 AS UNSIGNED) DESC limit 0, 1
   union
   select * from g5_mark where mark6 !='' order by CAST(mark6 AS UNSIGNED) DESC limit 0, 1
   union
   select * from g5_mark where mark10 !='' order by CAST(mark10 AS UNSIGNED) DESC limit 0, 1
   union
   select * from g5_mark where mark14 !='' order by CAST(mark14 AS UNSIGNED) DESC limit 0, 1
 ";
 

답변을 작성하려면 로그인이 필요합니다.