테스트 사이트 - 개발 중인 베타 버전입니다

sql group 쿼리문..

쭌111 3년 전 조회 3,714

안녕하세요 고수님들 ㅠㅠ

몇일째 삽질중인데

제가 원하는 쿼리는 이렇습니다.

 

해당 칼럼 중에 cp_loca 값이 같은건 그룹으로 합치고 뿌려줄때 cp_loca를 카테고리처럼 정렬하려고 합니다.

db에 cp_loca값은 다 들어오는 상태이고

예를 들자면

cp_loca = 서울

cp_loca = 서울

cp_loca = 서울

cp_loca = 수원

cp_loca = 인천

이 있을때

 

========================

서울

이미지   이미지    이미지

내용       내용       내용

 

수원

이미지

내용

 

인천

이미지

내용

========================

 

이런 구현을 원합니다 ㅠㅠ

 

현재는 

========================

서울

이미지

내용   

 

수원

이미지

내용

 

인천

이미지

내용

=======================

으로 합쳐져버리는 상태입니다ㅠ

 

조언 부탁드립니다..!

 

</p>

<p>$sql_common = " from {$g5['ink_corp_table']} ";</p>

<p>$sql_search = " where cp_status = 1 ";</p>

<p>$sql_order = " order by cp_sort, cp_title, cp_photo_name, cp_loca asc ";</p>

<p> </p>

<p>$query = "select cp_title, cp_photo_name, cp_loca, count(cp_loca) as cnt {$sql_common} group by cp_loca {$sql_order} ";</p>

<p>

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

답변 2개

e
3년 전

group by 를 삭제하고,

order by 순서를 cp_loca 부터 가져오도록 하구요.

화면에 출력을 할때..

cp_loca 이 변경될때 줄바꿈을 해주면 됩니다.

</p>

<p>$sql_common = " from {$g5['ink_corp_table']} ";

$sql_search = " where cp_status = 1 ";

$sql_order = " order by cp_loca, cp_sort, cp_title, cp_photo_name, asc ";

 

$query = "select cp_title, cp_photo_name, cp_loca, count(cp_loca) as cnt {$sql_common} {$sql_order} ";</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

쭌111
3년 전
답변 감사합니다..
초보라 그런데 cp_loca가 변경될때는 if로 처리하면 될까요??
e
eyekiss
3년 전
while($row=sql_fetch_array($result)) {
if($cp_loca != $row['cp_loca']) {
echo "줄바꿈 태그";
}
$cp_loca = $row['cp_loca'];
}

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

3년 전

샘플소스 작성해드리니 참고해서 해보세요~

</p>

<p>$sql_common = " from {$g5['ink_corp_table']} ";

$sql_search = " where cp_status = 1 ";

$sql_order = " order by cp_sort, cp_title, cp_photo_name, cp_loca asc ";

 

$query = "select cp_title, cp_photo_name, cp_loca, count(cp_loca) as cnt {$sql_common} group by cp_loca {$sql_order} ";</p>

<p>$result = sql_query($query);</p>

<p>$list = array();

// list에 카테고리별로 배열 담기

while($row=sql_fetch_array($result)) {

    $list[$row['cp_loca'][] = $row();

}</p>

<p>foreach($list as $key => $arr) {

    echo $key."
"; // 카테고리명

    foreach($arr as $val) {

        echo '<img src="'.$val['cp_phto_name'].'">';        // 이미지 출력

    }

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

쭌111
3년 전
답변 감사합니다..
작성해주신대로 했더니 에러가 나네요ㅠㅠ
잘 응용 해보겠습니다..!

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

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

로그인