2013-05-30 2 views
0

동적 배열에서 이전 값과 다음 값을 얻으 려하므로 해당 값을 다음 및 이전 페이지 링크에 설정할 수 있습니다. 데이터베이스에서 동적 배열을 가져 와서 지금 당장 가지고있는 범주의 ID를 반환합니다.동적 배열에서 다음 값과 이전 값 찾기 및 사용

예를 들어, 음식 카테고리의 다른 페이지의 ID로 채워지는 것보다 카테고리 ID가 6 인 음식 ID가 페이지에 있습니다.

내 배열이 작동하고 올바른 값을 반환하지만 현재 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

배열의 항목 (색인)이 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

당신이 널 (NULL) 및주의 사항을 (얻을 또는 통지를 얻고 그들을 볼 수없는 이유 그!).

+0

감사합니다. 그 작은 변화가 그 일을 해 냈습니다! –

+0

@ speetje33 LOL, 저의 첫 코멘트에 대해 말씀 드렸습니다. 오 잘 ... – alfasin