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

slq 쿼리 관련 질문 드립니다. 채택완료

밤툰스 7년 전 조회 2,218

안녕하세요. 방송 사이트를 제작중인 일인입니다.

테이블을 요일별로 구분해서 방송을 등록하고..

요일별로 분리해서 페이지에 보여주려고 하는데요.

어떤식이 기술적으로 효과적이고 사용자들에게 편하고 빠르게 보여줄수 있는지 잘 모르겠더라구요.

 

한개의 sql 테이블에 요일별로 데이터가 입력이 되어 있는데요.

1. 드라마1 월요일

2. 드라마2 월요일

3. 드라마3 월요일

1. 드라마1 화요일

2. 드라마2 화요일

3. 드라마3 화요일

1. 드라마1 일요일

2. 드라마2 일요일

3. 드라마3 일요일

 

 

드라마1 드라마1 드라마1 드라마1 드라마1 드라마1 드라마1
드라마2 드라마2 드라마2 드라마2 드라마2 드라마2 드라마2

 

이런식으로 보여주려는데요.

2가지 방법을 생각하고 있는데요.

하나는 요일별로 쿼리를 보내서 for 문으로 뿌려준다.

쿼리 월요일 ~ 쿼리 일요일

 

for 월요일 ~ for 일요일

 

두번째는 전체 쿼리를 보내서 for 문에서 요일별로 뿌려준다.

쿼리 전체 요일

for 쿼리 for 월요일

~ for 쿼리 for 일요일

 

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

답변 3개

채택된 답변
+20 포인트
7년 전

두번째 전체 쿼리를 실행한 후,

요일별 배열에 저장한 후,

각 요일별 영역에 요일별 배열을 for 문으로 출력해주는 방법이 좋을 것 같습니다.

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

답변에 대한 댓글 2개

밤툰스
7년 전
말씀처럼 해보려는데요. 제 지식이 짧아 쉽지가 않네요.
구체적인 코드를 적어주셨으면, 좋았겠다 싶긴했어요 ㅎ
힌트는 주셨으니, 열공해야죠~
답변 감사합니다.
마르스컴퍼니
7년 전
for 문 안에 전체 배열과 요일별 배열에 중복으로 넣어주는 방법을 생각해 볼 수 있을 거에요.
Syntax 는 안맞을 수 있을 테니.. 로직만 참고하시면 될 것 같습니다.

for ($i = 0; $row = sql_array($result); $i++) {
$arr_all[] = $row;
if ($row['yoil] == 'sunday')
$arr_yoil['sunday'][] = $row;
else if ($row['yoil] == 'monday')
$arr_yoil['monday][] = $row;
// ...
}

...

// 일요일
for ($i = 0, $cnt = count($arr_yoil['sunday']); $i < $cnt; $i++) {
}

// 월요일
for ($i = 0, $cnt = count($arr_yoil['mondy]); $i < $cnt; $i++) {
}

// 요일별 배열에 담을 때 $arr_yoil['sunday'] 가 아닌 $arr_yoil[0] 식으로 한다면, 2차원 배열 for 문으로도 가능할 듯 합니다.

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

7년 전

쿼리는 짧게 불러오는게 좋지요..

요일별로 불러오는게 효과적일겁니다.

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

답변에 대한 댓글 1개

밤툰스
7년 전
쿼리는 짧게 불러오는게 효과적일 것이라는 부분에 대해서는 저도 찬성!

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

7년 전

카테고리를 요일로 구분해서 순서대로 출력해주면 됩니다.

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

답변에 대한 댓글 1개

밤툰스
7년 전
초기 말씀하신 것처럼 작업을 했었는데요.
한 페이지에서 쿼리가 7번 실행되니, 페이지가 늦게 열리더라구요.

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

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

로그인