2011-09-25 2 views
0

내 주제 결과를 모두 검색하는 mysql 쿼리가 있습니다. 그런 다음 결과가 페이지로 분리되고 쿼리의 limit #,# 페이지가 어떤 페이지인지에 따라 변경되는 페이지 매김 시스템이 있습니다.그룹 mysql 결과가 두 개의 별도 div로 표시

내가 원하는 것은 모든 결과를 두 개의 별도 div 컨테이너에 넣는 것입니다. 각 페이지마다 21 개의 결과가 필요합니다. 첫 번째 9는 한 div에 넣을 것입니다. 다음 12는 다른쪽에 갈 것입니다. 누구든지이 작업을 수행하는 효율적인 방법을 알고 있습니까? 두 개의 쿼리 또는 자바 스크립트 또는 다른 방법을 사용해야합니까? 나는 이것을하기위한 최선의 가장 효율적인 방법을 찾고있다. 불행히도 페이지 매김 시스템은 두 가지 쿼리를 어렵게 만듭니다. 모든 제안은 높이 평가.

$sql = "SELECT * FROM topics LIMIT ?,?"; 
$stmt2 = $conn->prepare($sql); 
$result=$stmt2->execute(array(somenumber,somenumber2)); 
+1

SQL 쿼리 결과를 반복하는 방법을 묻고 있습니까? 왜냐하면 단순히 루프 카운터'$ i'와'if ($ i> = 9) {..}'를 가질 수 있기 때문입니다. 권리? –

+0

@rfausak 그 대답은, 내가 말하고 싶었지만 당신이 처음 이래로 .. –

답변

2

단일 MySQL 쿼리를 수행하고 JavaScript를 사용하여 결과를 정렬 할 수없는 이유는 없습니다. 당신의 데이터가 어떻게 보이는지 다시는 이해하지 못한다는 것을 이해합니다. 따라서 제가 제공하는 예제는 이와 관련하여 꽤 불가 지론적인 것으로 남아 있어야 할 것입니다.

그러나 디스플레이의 기본 데이터 인 길이가 21 인 JavaScript 배열이 있다고 가정합니다. 당신의 정렬 상태가 더 이상 복잡한 경우

// assume my_array is the array mentioned above 
for (var i = 0; i < 9; i += 1) { 
    var html = code_to_transform_data_from_array(array[i]); 
    $('.div1').append($(html)); 
} 
for (var i = 9; i < 21; i += 1) { 
    var html = code_to_transform_data_from_array_b(array[i]); 
    $('.div2').append($(html)); 
} 

, 당신은 것 :로

우리가 처음 (9)에 대해 이야기하고, 지난 12하고 있다는 가정은, 분류 코드는 간단하다 ... 뭔가 등으로 더 잘

while (my_array.length > 0) { 
    var item = my_array.pop(); 
    if (sorting_condition) { 
     $('.div1').append(f1(item)); 
    } 
    else { 
     $('.div2').append(f2(item)); 
    } 
} 

은 (두 번째 예에서는 나는 게으른 타이피스트되었고 완전한 변환 기능으로 f1f2을 가정한다. sorting_condition는 결정하기위한 기준을 어느 양동이에 몇 가지 것은 간다.

희망 트랙에서 벗어나기를 희망합니다.

+0

루크에게 감사드립니다. 고맙습니다. +1 및 답변이 수여되었습니다. – Scarface

관련 문제