2011-09-25 63 views
0

我有一個mysql查詢來檢索我的所有主題結果。然後我有一個分頁系統,其中結果分爲多個頁面,查詢的limit #,#根據您所在的頁面進行更改。將mysql組結果分成兩個獨立的div

我想要做的就是把所有這些結果放到兩個單獨的div容器中。我想在每個頁面上顯示21個結果。前9名我會放入一個div。接下來的12個將進入另一個。有誰知道有效的方法來做到這一點?我應該使用兩個查詢,或JavaScript,或其他方式?我只是尋找最好的最有效的方式來做到這一點。不幸的是,分頁系統使兩個查詢變得困難。任何建議高度讚賞。

$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數組,其中有一些數據是您顯示的基礎。

假如我們只是談論的第一個9,最後12,分類代碼很簡單,只要:

// 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)); 
} 

如果你的挑選條件是任何比較複雜,那麼你會最好用類似...

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