sql group 쿼리문..
안녕하세요 고수님들 ㅠㅠ
몇일째 삽질중인데
제가 원하는 쿼리는 이렇습니다.
해당 칼럼 중에 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개
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개
if($cp_loca != $row['cp_loca']) {
echo "줄바꿈 태그";
}
$cp_loca = $row['cp_loca'];
}
댓글을 작성하려면 로그인이 필요합니다.
샘플소스 작성해드리니 참고해서 해보세요~
</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개
작성해주신대로 했더니 에러가 나네요ㅠㅠ
잘 응용 해보겠습니다..!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
초보라 그런데 cp_loca가 변경될때는 if로 처리하면 될까요??