2013-08-05 3 views
0

У меня есть страница с URL, как это:пагинация с хэш и параметров не работает

http://***.com/profile/username#profile_favs 

С моей пагинацией это выглядит следующим образом:

http://***.com/profile/username?s=0&p=1#profile_favs 

Последний пример не будет работать ,

В основном моя пагинация-функция выглядит следующим образом:

function Pagination($pages, $start, $display, $link_url="", $anchor="") { 

echo '<div id="pagination">'; 

    $current_page = ($start/$display) + 1; 

    $paginator_num = 5; 
    $pages_display = 10; 

    if ($current_page > $pages - $paginator_num) { 
     $paginator_num = $pages_display - ($pages - $current_page); 
    } elseif ($current_page < $paginator_num + 1) { 
     $paginator_num = $pages_display - $current_page; 
    } else { 
     $paginator_num = 5; 
    } 

    $min = max($current_page - $paginator_num, 1); 
    $max = min($current_page + $paginator_num, $pages); 

    for ($i = $min; $i <= $max; $i++) { 
     if ($i != $current_page) { 
      echo '<div class="pagination_link">'; 
       echo '<a href="/'.$link_url.'?s=' . (($display * ($i - 1))) . '&p=' . $pages . $anchor.'">' . $i . '</a>'; 
      echo '</div>'; 

     } else { 
      echo '<div id="pagination_active" class="pagination_link">'; 
       echo $i . ' '; 
      echo '</div>'; 
     } 
    }  

    echo '</div>'; 
} 

И это та часть, которая вычисляет страницы (эта часть попадет в результате прямо перед моей постраничной-функцией):

<?php 
$display = $display_num; 

if (isset($_GET['p']) && is_numeric ($_GET['p'])) { 
    $pages = $_GET['p']; 

} else { 
    $total_results = $qr_num; 

    if ($total_results > $display) { 
     $pages = ceil ($total_results/$display); 
    } else { 
     $pages = 1; 

    } 
} 

if (isset($_GET['s']) && is_numeric ($_GET['s'])) { 

    $start = $_GET['s']; 

} else { 
    $start = 0; 
} 



?> 

сейчас мой вопрос: существует ли какое-либо обходное решение для получения этой страницы с URL-адресом, упомянутым выше:

http://***.com/profile/username?s=0&p=1#profile_favs 

На самом деле я бы предпочел решение без GET-параметров. Любая помощь, пожалуйста?

+0

ли мой ответ ниже помощи? – woofmeow

ответ

1
  1. Вы можете использовать вызов AJAX с объектом XMPHttpRequest для его извлечения без параметров get.

  2. Еще одна вещь, которую вы могли бы сделать (если вы используете Apache) - это посмотреть на mod_rewrite для URL-адресов.

Надежда, что помогает :)

+0

Спасибо за подсказки! :) Я проверю его как можно скорее! – drpelz

+0

С AJAX-вызовом это работает! :) BTW: Хотя я использую APACHE У меня нет опыта с .htaccess-файлами! Так что mod_rewrite-thingy - это то, что я никогда не использовал бы ... так спасибо за вашу помощь, приятель!: D – drpelz

+0

Рад помочь @drpelz .. Я сам его не использовал. Но никогда не бойтесь попробовать (конечно, примите надлежащие меры предосторожности, если это будет жить на сайте lol). :) – woofmeow

Смежные вопросы