2013-05-30 36 views
0

我試圖在動態數組中獲取前一個值和下一個值,以便我可以在鏈接上設置這些值,以訪問下一頁和上一頁。我從我的數據庫中獲取動態數組,並返回當前所處類別的ID。查找並使用動態數組中的下一個值和前一個值

作爲一個例子,我在頁面ID爲6的食品類別中填充了食品類別的其他頁面的ID。

我的數組工作並返回正確的值,但是當我嘗試從當前ID獲取上一個和下一個ID時,它不返回任何內容。

以下是我如何填充數組和數組的var_dump的代碼,以及如何獲取上一個值和下一個值。

$results = array(); 
while($row = mysql_fetch_array($result)){ 
    $results[$row[0]] = $row[0]; 
} 

array(3) { 
[1]=> string(1) "1" 
[4]=> string(1) "4" 
[6]=> string(1) "6" 
} 

$index = array_search($id, $results); 
if($index !== FALSE){ 
    $prev = $results[$index + 1]; 
    $next = $results[$index - 1]; 
} 

變量未來美元$上一頁返回不過當我檢查$結果[$指數]從當前頁面返回正確的ID。我真的不能再看到有什麼問題了。

+0

你可能使用了'unset':你的數組中的項目(索引)是:1,4,6(你沒有剩下的元素) – alfasin

+0

此時在我的數組中只有3個元素,但是會有更多,但是當我在第4頁時,$ prev和$ next變量保持爲空。 –

+0

我不明白我說的和你的迴應之間的關係。 – alfasin

回答

0

這樣的代碼如何?

$results = array(); 
while($row = mysql_fetch_array($result)){ 
    $results[] = $row[0]; 
} 

$index = array_search($id, $results); 
if ($index !== FALSE){ 
    $prev = $results[$index + 1]; 
    $next = $results[$index - 1]; 
} 

你的問題是: 4 - 1 = 1 和 4 + 1 = 6

這就是爲什麼你得到空值和通知(或您得到通知,並沒有看到他們! )。

+0

謝謝,這個工作沒有什麼改變! –

+0

@ speetje33大聲笑,這就是我在第一條評論中告訴你的。好吧... – alfasin

相關問題