안녕하세요. 방송 사이트를 제작중인 일인입니다.
테이블을 요일별로 구분해서 방송을 등록하고..
요일별로 분리해서 페이지에 보여주려고 하는데요.
어떤식이 기술적으로 효과적이고 사용자들에게 편하고 빠르게 보여줄수 있는지 잘 모르겠더라구요.
한개의 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개 / 댓글 4개
채택된 답변
+20 포인트
마르스컴퍼니
2018-08-17 (금) 19:31:52
두번째 전체 쿼리를 실행한 후,
요일별 배열에 저장한 후,
각 요일별 영역에 요일별 배열을 for 문으로 출력해주는 방법이 좋을 것 같습니다.
답변에 대한 댓글 2개
2018-08-25 (토) 19:32:34
마르스컴퍼니
2018-08-27 (월) 14:30:34
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 문으로도 가능할 듯 합니다.
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 문으로도 가능할 듯 합니다.
2018-08-17 (금) 17:13:39
쿼리는 짧게 불러오는게 좋지요..
요일별로 불러오는게 효과적일겁니다.
답변에 대한 댓글 1개
2018-08-17 (금) 17:10:00
카테고리를 요일로 구분해서 순서대로 출력해주면 됩니다.
답변에 대한 댓글 1개
2018-08-25 (토) 19:33:28
초기 말씀하신 것처럼 작업을 했었는데요.
한 페이지에서 쿼리가 7번 실행되니, 페이지가 늦게 열리더라구요.
한 페이지에서 쿼리가 7번 실행되니, 페이지가 늦게 열리더라구요.
답변을 작성하려면 로그인이 필요합니다.
구체적인 코드를 적어주셨으면, 좋았겠다 싶긴했어요 ㅎ
힌트는 주셨으니, 열공해야죠~
답변 감사합니다.