0

次のページと前のページへのリンクにこれらの値を設定できるように、動的配列で前と次の値を取得しようとしています。データベースから動的配列を取得し、現在のカテゴリの ID を返します。

例として、配列が食品カテゴリの他のページの ID で満たされているよりも、カテゴリ食品のページ ID 6 にいます。

私の配列は機能し、正しい値を返しますが、現在の 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];
}

変数 $next と $prev は何も返しませんが、$results[$index] をチェックすると、現在のページから正しい ID が返されます。何がうまくいかないのか、もう本当にわかりません。

4

1 に答える 1

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 と通知を受け取る (または、通知を受け取り、それらを表示しない) 理由です。

于 2013-05-30T22:10:36.483 に答える