Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Paginacja
Forum PHP.pl > Forum > Przedszkole
Kajmanos
Witam dostalem oto takie zadanie na stronce w przykladowej zakladce mam 73 (okladki graficzne) na jednej stronie mam zrobic "paginacje" mianowicie chodzi o to aby zrobic

tak aby podzelic to na strony i na kazdej ma byc po 16 okladek. Pomocy
Kshyhoo
Przypadkiem nie założyłeś już jednego wątku o paginacji?
Kajmanos
Nie wczesniej mialem inny problem ale koledzy bardzo uczynnie mi pomogli. Teraz mam taki problem wiec pytam
salfunglandyare
Masz 73 okładki graficzne. Załóżmy, że masz je w postaci tablicy:
  1. $okladki = ['okladka1.jpg', 'jakasokladka2.png', ... ,'okladka73.gif'];


Wg Twoich danych będziesz miał ceil(73/16) stron po 16 okładek:
  1. $mam_tyle_okladek = count($okladka);
  2. $chce_zeby_bylo_ich_na_stronie = 16;
  3. $tyle_bede_mial_stron = ceil($mam_tyle_okladek/$chce_zeby_bylo_ich_na_stronie);
  4. $aktualna_strona = (int)$_GET['strona'];
  5. //jakaś obsluga, że $aktualna_strona >=0 i < $tyle_bede_mial_stron
  6. $indeks_pierwszej_okladki = $aktualna_strona * $chce_zeby_bylo_ich_na_stronie;
  7. $indeks_ostatniej_okladki = ($aktualna_strona + 1) * $chce_zeby_bylo_ich_na_stronie;
  8. if($indeks_ostatniej_okladki > $mam_tyle_okladek){
  9. $indeks_ostatniej_okladki = $mam_tyle_okladek;
  10. }

Wyświetlanie tego jest już proste
  1. //wyswietlamy okladki
  2. for($i = $indeks_pierwszej_okladki; $i < $indeks_ostatniej_okladki; $i++){
  3. echo sprintf('<img src="%s">',$okladka[$i]);
  4. }

No i pewnie jeszcze wyświetlanie paginacji:
  1. //wyswietlamy paginacje
  2. for($i = 0; $i < $tyle_bede_mial_stron; $i++){
  3. if($i == $aktualna_strona){
  4. //aktualna strona będzie pogrubiona
  5. echo sprintf('<a href="%s"><strong>%d</strong></a>',$_SERVER['SCRIPT_NAME'].'?strona='.$i,$i+1);
  6. } else {
  7. echo sprintf('<a href="%s">%d</a>',$_SERVER['SCRIPT_NAME'].'?strona='.$i,$i+1);
  8. }
  9. }


Pisane "na kolanie", wiec moga byc jakies bledy
Kajmanos
Sprobuje wdrozyc dziekuje Ci bardzo smile.gif dam znac jaki z tego finał .

Kurcze dalej mam problem z tym pogrupowaniem tych zdjech kolega mi tu wczoraj odpowiadal ale nic mi z tego nie wychodzi wrzuce zaraz ten kawelek tego mojego kodu i moze ktos rzuci okiem profesojonalisty jak to zrobic..
  1. <?php
  2. // Template Name: Afisze
  3. get_header(); ?>
  4. <style>
  5. /*
  6. Colorbox Core Style:
  7. The following CSS is consistent between example themes and should not be altered.
  8. */
  9. #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
  10. #cboxWrapper {max-width:none;}
  11. #cboxOverlay{position:fixed; width:100%; height:100%;}
  12. #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
  13. #cboxContent{position:relative;}
  14. #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
  15. #cboxTitle{margin:0;}
  16. #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
  17. #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
  18. .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
  19. .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
  20. #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
  21.  
  22. /*
  23. User Style:
  24. Change the following styles to modify the appearance of Colorbox. They are
  25. ordered & tabbed in a way that represents the nesting of the generated HTML.
  26. */
  27.  
  28.  
  29. /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
  30. #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
  31.  
  32. #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
  33. #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
  34. #cboxPrevious:hover{background-position:-75px -25px;}
  35. #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
  36. #cboxNext:hover{background-position:-50px -25px;}
  37. #cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
  38. #cboxClose:hover{background-position:-25px -25px;}
  39.  
  40. /*
  41. The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  42. when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
  43. */
  44. .cboxIE #cboxTopLeft,
  45. .cboxIE #cboxTopCenter,
  46. .cboxIE #cboxTopRight,
  47. .cboxIE #cboxBottomLeft,
  48. .cboxIE #cboxBottomCenter,
  49. .cboxIE #cboxBottomRight,
  50. .cboxIE #cboxMiddleLeft,
  51. .cboxIE #cboxMiddleRight {
  52. filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#
  53. 00FFFFFF);
  54. }
  55. </style>
  56. <?php
  57.  
  58. function przyjazny_string($string){
  59. $string=strtolower($string);
  60. $string = str_replace(array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż','Ł'), array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z','l'), $string);
  61. return $string;
  62. }
  63.  
  64. $args = array(
  65. 'posts_per_page' => 100,
  66. 'offset' => 0,
  67. 'category' => get_post_field('Kategorie', get_the_ID()),
  68. 'category_name' => '',
  69. 'orderby' => 'date',
  70. 'order' => 'DESC',
  71. 'include' => '',
  72. 'exclude' => '',
  73. 'meta_key' => '',
  74. 'meta_value' => '',
  75. 'post_type' => 'post',
  76. 'post_mime_type' => '',
  77. 'post_parent' => '',
  78. 'post_status' => 'publish',
  79. 'suppress_filters' => true
  80. );
  81. $posts_array = get_posts( $args );
  82.  
  83. //print_r($posts_array);
  84. ?>
  85.  
  86. <div >
  87. <?php
  88.  
  89.  
  90. foreach ($posts_array as $k=>$w)
  91. {
  92. $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $w->ID ), 'large' );
  93. ?>
  94.  
  95. <div class="plakat">
  96. <a href="<?php echo $large_image_url[0]; ?>" class="single_image">
  97. <?php
  98.  
  99. echo get_the_post_thumbnail( $w->ID, 'medium' );
  100. ?>
  101. </a>
  102. <br>
  103. <div class="opis_plakatu">
  104. <?php echo get_post_field('tytul_plakatu', $w->ID) ;?>
  105. <br>
  106. <?php echo get_post_field('autor_plakatu', $w->ID) ;?>
  107. </div>
  108. </div>
  109.  
  110.  
  111.  
  112. <!-- <div class="col-md-3 col-sm-6">
  113. <div class="single-item">
  114. <a href="<?php echo $large_image_url[0]; ?>" class="single_image" ><?php
  115.  
  116. echo get_the_post_thumbnail( $w->ID, 'medium' );
  117. ?></a>
  118.  
  119. <div class="desc">
  120.  
  121. <p>
  122. <?php echo get_post_field('tytul_plakatu', $w->ID) ;?>
  123. </p>
  124.  
  125. <p><?php echo get_post_field('autor_plakatu', $w->ID) ;?></p>
  126.  
  127. </div>
  128.  
  129.  
  130. </div>
  131. </div> -->
  132. <?php
  133. //exit();
  134. }
  135. ?>
  136.  
  137. </div>
  138.  
  139. <script>
  140. jQuery(document).ready(function() {
  141.  
  142. /* This is basic - uses default settings */
  143.  
  144. jQuery("a.single_image").colorbox({maxHeight:"90%",opacity:0.8,current:"Obraz {current} z {total}",previous:"Wstecz",next:"Dalej",close:"Zamknij"});
  145. //fancybox();
  146.  
  147.  
  148.  
  149. });
  150.  
  151. </script>
  152.  
  153. <?php get_footer(); ?>
nospor
Zacznij wkoncu uzywac BBCODE.
Zacznij wyrzucac z kodu to co nie jest potrzebne.... np. style CSS naprawde w niczym tu nie pomagają a tylko zaciemniają kod.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.