이전 목록 다음
채택완료

sql 질문..

Copy
//////////////////////////////////////////////////1번 시작
$member_id = $member[ 'mb_id' ];
if($page){

$pagw = ($page - 1) * 15;
}else{
$page = 1;
$pagw = 0;
}

$sql = " select * from num1 list where num_uid = '".$member_id."' order by sid desc limit ".$pagw.", 15";

$result = sql_query($sql);

for($i=0; $row=sql_fetch_array($result); $i++){

         $list[$i] = $row;
}
//////////////////////////////////////////////////1번끝


//////////////////////////////////////////////////2번 시작
$member_id = $member[ 'mb_id' ];
if($page){

$pagw = ($page - 1) * 15;
}else{
$page = 1;
$pagw = 0;
}

$sql = " select * from num2 list where num_uid = '".$member_id."' order by sid desc limit ".$pagw.", 15";

$result = sql_query($sql);

for($i=0; $row=sql_fetch_array($result); $i++){

         $list[$i] = $row;
}
//////////////////////////////////////////////////2번 끝


//////////////////////////////////////////////////3번 시작
$member_id = $member[ 'mb_id' ];
if($page){

$pagw = ($page - 1) * 15;
}else{
$page = 1;
$pagw = 0;
}

$sql = " select * from num3 list where num_uid = '".$member_id."' order by sid desc limit ".$pagw.", 15";

$result = sql_query($sql);

for($i=0; $row=sql_fetch_array($result); $i++){

         $list[$i] = $row;
}
//////////////////////////////////////////////////3번 끝

 

이렇게 sql 을 가져오고 있습니다.. 출력은 되긴하나 

1번

2번

3번

1번

2번

3번

1번

2번

3번 

 

이런식으로 1.2.3 순서대로 가져오고 있습니다.. 제일 최근순으로 호출하고 싶은데 방법이 없을까요? 

그리고 개수도 15개를 정상적으로 가져오지 못합니다.

|

답변 4개

채택된 답변
+20 포인트

방법이

1. num1,2,3 테이블을 통합

2. union으로 합쳐 다시 날짜로 정렬

2. $list 를 다 모아 날짜로 sorting

 

각각의 변수를 모두 다르게 설정해 보시기 바랍니다.

//////// 1번 시작 ~ 끝

//////// 2번 시작 ~ 끝

//////// 3번 시작 ~ 끝

 

각각 한 단락씩만 출력하거나 각 중간에 구분자를 넣어보세요.

 

답변자 입장에서는 단순히 

Copy
1번

2번

3번

1번

2번

3번

1번

2번

3번

이 구문만 보고 어디서 몇번 시작인지 유추를 할수가 없습니다.

또 전체 데이터가 6개 라면 15개가 나오지 않을테구요.

$list 라는 변수는 어디서 어떻게 시작되는건지, 어디선가 먼저 값이 채워지지는 않는지

1,2,3 번 소스가 모두다 하나의 페이지 안에서 이어지는 흐름인지

 

답변을 하려고 해도 추측할 부분이 너무 많습니다.

1893228586_1668687133.6738.png

이런식으로 1.2.3.1.2.3 순서대로 가져오고 있습니다. 저는 순서 상관없이 날짜순으로 제일 최근의 것 부터 가져오고 싶은데 자꾸 이러한 형태로 출력이 되네요.. 그리고 저는 테이블당 항목 개수를 15개를 출력을 하려 하는데 1.2.3번 합쳐서 15개만 나옵니다.. 

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