2016-12-14 63 views
2

傳遞數組值隨着對這個問題的幫助下,「Divide numbers into equal parts to create Sitemap from mysql」,我得到了這樣的結果:如何在mysql中選擇查詢

Array ([0] => 0,500 
     [1] => 500,1000 
     [2] => 1000,1500 
     [3] => 1500,2000 
     [4] => 2000,2500 
     [5] => 2500,2990) 

我的問題是,我想通過上面的陣列值來選擇查詢限制。像這樣:

"SELECT * FROM `table_name` WHERE `rec_id`='1' limit 0 OFFSET 500 " 

等等upto limit 2500, 2990

如何做到這一點?我對發展很陌生。請幫助我解決方案。

預先感謝您。

+0

這是某種分頁方式嗎? – RiggsFolly

+0

同時在外部數組循環,你可以爆炸inna數組或u可以乘以500的索引,你會有起始索引。 –

+0

@RiggsFolly不喜歡分頁。我想發小組郵件。所以爲此我創建了一組500個聯繫人。並從表中獲取500個電子郵件地址。但我很困惑如何在查詢中使用它? –

回答

1

下面是代碼

foreach($arr as $k => $v){ 

    list($limit, $offset) = explode(','$v); 

    $query_arr[] = "SELECT * FROM `table_name` WHERE `rec_id`='1' limit $limit OFFSET $offset"; 
} 

再火$ query_arr只要你想

+0

非常感謝。它解決了我的問題 –

+0

你是最受歡迎的! – rahulsm

1

其實你想與500個結果的分頁begining的指數,對不對?所以限制應該總是500,只有抵消值應該改變。

$queries = []; 
$array = Array ([0] => 0,500 
    [1] => 500,1000 
    [2] => 1000,1500 
    [3] => 1500,2000 
    [4] => 2000,2500 
    [5] => 2500,2990); 

foreach ($array as $value){ 
    $offsets = explode(',', $value); 
    $queries[] = "SELECT * FROM `table_name` WHERE `rec_id`='1' limit 500 OFFSET $offsets[0]"; 
}