Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Połączenie Pagiancji - Nice URL, problemy proszę o pomoc
marcin-1981
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.11.2011

Ostrzeżenie: (0%)
-----


Witam, staram się zrobić podstawę pod mały serwis.
Przyjazne Linki i Paginacja
Wszystko działa częściowo
Kiedy klikam 1 2 3 4 5 6 przełącza mi podstrony i tu jest ok ale kiedy klikam na wynik tej paginacji czyli link który wywołuje wyświetlenie konkretnych danych z bazy.
Kiedy klikam w link
  1. echo '<a href="'.$nurl->Url('module=news&action=show&name='.$wiersz['title'].'&id='.$wiersz['id'].'').'">Aktualnosc o id '.$wiersz['id'].'</a><br />';


Nie wywołuje się ale przechodzi z podstrony 5 na 1 co prawda klikając na link z podstrony 1 wywołuje się to co chciałem na piątej.
Dopiero ponowne klikniecie tego samego linku wywoła wypisanie tego co zawiera link z podstrony 1

Czasami są jeszcze dziwniejsze przypadki domyślam się że przez pagiancje

Kiedy klikam na podstony 1 2 3 4 5 link w pasku adresu wygląda tak
  1. <a href="http://127.0.0.1/Main/index.php?pagenum=2" target="_blank">http://127.0.0.1/Main/index.php?pagenum=2</a>

a kiedy jestem na 6 i klikam na link w pasku adresu pojawia się taki link

  1. [
  2. <a href="http://127.0.0.1/Main/index.php?pagenum=6Madafaka-Madafaka-test-0120080,120010.html" target="_blank">http://127.0.0.1/Main/index.php?pagenum=6M...080,120010.html</a>
  3. /php]
  4.  
  5.  
  6. Kod plik index.php
  7. [php]
  8. <?php
  9.  
  10. require_once('NUrl.class.php');
  11. include_once('class/pagination.php');
  12. include "config/db.php";
  13. //bazowy url. Może to być np. <a href="http://mojastrona.pl/" target="_blank">http://mojastrona.pl/</a>
  14. //tutaj dla testów będę brał ścieżkę, którą określacie w linku
  15.  
  16. $baseUrl = $_SERVER['REQUEST_URI'];
  17. if (!empty($_SERVER['PATH_INFO'])) //jeszcze trzeba z tego automatycznego $baseUrl wyciąć path_info. Gdy sami określać będziecie $baseUrl to ta wycinka będzie zbędna
  18. $baseUrl = substr($baseUrl,0, strpos($baseUrl,$_SERVER['PATH_INFO'])).'/';
  19. //i jeszcze wywalę index.php jeśli się nam tu wstawił
  20. if (substr($baseUrl,-9) == 'index.php')
  21. $baseUrl = substr($baseUrl,0,-9);
  22.  
  23. //stworzenie obiektu do generacji linków
  24.  
  25. $nurl = new NUrl($baseUrl);
  26.  
  27. //przetworzenie ścieżki na parametry $_GET
  28. $nurl->Decode();
  29.  
  30. //tutaj damy nasz prosty kontroller, obsługujący nasze moduły
  31. echo '<div><b>Pamietajcie - przyklad zadziala dopiero gdy w apache\'u wlaczycie mod-rewrite!!!</b><br /><br />';
  32. controller();
  33. echo '</div>';
  34.  
  35.  
  36. //a tu przykładowe menu z generowaniem linków
  37.  
  38. echo '<div>';
  39.  
  40. echo '<a href="'.$nurl->Url().'">Strona glowna</a><br />';
  41. echo '<a href="'.$nurl->Url('module=test&action=jakasakcja&par1=war1&par2=war2').'">Modul testowy z jakas akcja</a><br />';
  42. echo '<a href="'.$nurl->Url('module=news&action=list').'">Lista aktualnosci</a><br />';
  43. /*
  44. $zapytanie_podobne = "SELECT * FROM artykuly ORDER BY id DESC limit 5";
  45. if ($r = mysql_query ($zapytanie)) {
  46. while ($wiersz = mysql_fetch_array($r)) {
  47. echo '<a href="'.$nurl->Url('module=news&action=show&name='.$wiersz['title'].'&id='.$wiersz['id'].'').'">Aktualnosc o id '.$wiersz['id'].'</a><br />';
  48. }
  49. }
  50. */
  51. $total_results = mysql_num_rows(mysql_query('Select * from artykuly ORDER BY id DESC'));
  52. $number_of_results_to_show_per_page = 1;
  53. if($total_results >$number_of_results_to_show_per_page)
  54. {
  55. $page = new pagination($total_results,$number_of_results_to_show_per_page,'links'); // it will show links
  56.  
  57. $return_qry = $page->get_pagination_query('Select * from artykuly ORDER BY id DESC');
  58.  
  59. $query = mysql_query($return_qry);
  60. }
  61. else
  62. {
  63. $query = mysql_query( 'select * from artykuly ORDER BY id DESC');
  64. }
  65. while ($wiersz = mysql_fetch_array($query)) {
  66. {
  67.  
  68. echo '<a href="'.$nurl->Url('module=news&action=show&name='.$wiersz['title'].'&id='.$wiersz['id'].'').'">Aktualnosc o id '.$wiersz['id'].'</a><br />';
  69. }
  70. }
  71. if($total_results > $results_per_page)
  72. {
  73. echo "<ul class=paginator>";
  74. echo $page->pagination_string;
  75. echo "</ul>";
  76. }
  77. echo "<br>";
  78. /*
  79. echo '<a href="'.$nurl->Url('module=news&action=show&name=kwiatki-sa-zolte&id=2').'">Aktualnosc o id 2</a><br />';
  80. */
  81. echo '</div>';
  82.  
  83. function controller(){
  84. $module = isset($_GET['module']) ? $_GET['module'] : '';
  85. switch ($module){
  86. case 'test':
  87. echo 'Hej, wszedles wlasnie w modul testowy. Akcja jaka wywolales to <b>'.$_GET['action'].'</b>';
  88. break;
  89. case 'news':
  90. echo 'Hej, wszedles wlasnie w modul aktualnosci.';
  91. if ($_GET['action'] == 'show'){
  92. echo ' Akcja to <b>show</b>. <br />Id aktulanosci to: <b>'.$_GET['id'].'</b><br />Nazwa aktualnosci to: <b>'.$_GET['name'].'</b>';
  93. $wynik = mysql_query('SELECT * FROM artykuly WHERE id='.$_GET['id'].'')
  94. or die('Błąd zapytania');
  95. if(mysql_num_rows($wynik) > 0) {
  96. $r = mysql_fetch_assoc($wynik);
  97. echo '<h1>'.$r['title'].'</h1>';
  98. }
  99. } elseif ($_GET['action'] == 'list'){
  100. echo ' Akcja to <b>list</b>, wiec tu powinno sie wstawic liste aktualnosci :)';
  101. }
  102. break;
  103. case '':
  104. echo 'Jestes teraz na stronie glownej, bez odpalania jakiegokolwiek modulu';
  105. break;
  106. default:
  107. echo 'Wszedles w modul, ktorego nie obsluguje. Spadaj!!';
  108. }
  109. echo '<br /><br />A tak wyglada tablica $_GET:';
  110. echo '<pre>';
  111. print_r($_GET);
  112. echo '</pre>';
  113. }
  114.  
  115.  
  116. ?>
  117.  


Go to the top of the page
+Quote Post

Posty w temacie
- marcin-1981   [MySQL][PHP]Połączenie Pagiancji - Nice URL   15.11.2011, 00:05:23
- - nospor   Klasa do stronicowania robi ci sama linki do kolej...   15.11.2011, 07:40:05
- - marcin-1981   Tak się domyślam a jak to zrobić. Czy jest tu na f...   15.11.2011, 18:32:30
- - nospor   Używasz jakiejś klasy pagination, której kodu nie ...   16.11.2011, 07:49:57
- - marcin-1981   klasa paginacja [PHP] pobierz, plaintext <scr...   16.11.2011, 17:20:51
- - nospor   Kod jak ten: <a href='".$_SERVER[...   16.11.2011, 19:21:33
- - marcin-1981   Niestety nic mi to nie mówi gdzie i co mam zmodyfi...   17.11.2011, 17:51:53
- - lukaszk   Mam ten sam problem potrzebuję wyciąć z adresu uid...   29.11.2011, 21:24:33
- - nospor   autor tematu ma problem z generowaniem linków w kl...   30.11.2011, 08:17:28
- - lukaszk   Metodą GET wysyłam ID usera którego klasa nie prze...   30.11.2011, 12:47:02
- - nospor   ale klasa przerabia ładne urle. A jak wyglada Twój...   30.11.2011, 13:20:36
- - lukaszk   Zaczynam od podstawy gdyż chciał bym w moim małym ...   4.12.2011, 18:17:11
- - nospor   CytatCzyli zmieniłem tylko & na ?Ale czemu? Cz...   5.12.2011, 08:29:14
- - lukaszk   Potrzebuję wysłać w linku id poza funkcję. Niestet...   5.12.2011, 08:40:59
- - nospor   To $nurl->Url('module=news&action=...   5.12.2011, 08:56:47
- - lukaszk   I właśnie dziś w pracy tak myślałem Działa kod   5.12.2011, 20:10:56
- - marcin-1981   Cytat(nospor @ 16.11.2011, 19:21:33 )...   5.12.2011, 22:33:15
- - nospor   [PHP] pobierz, plaintext global $nurl;$nav .= '...   6.12.2011, 08:43:45
- - -marcin-1981-   Działa ale wynik nie tak jak myślałem Po kliknięc...   6.12.2011, 18:22:45
- - nospor   Co wycinało?   6.12.2011, 19:41:49


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 03:59