Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Galeria i problem z next, prev
Forum PHP.pl > Forum > PHP
ThreeX
Witam, zmagam się z pewnym problemem. Mam sobie skrypt galerii i w miejscu gdzie są buttony (podpisałem) chciałbym aby działały jako next i prev ale nie wiem jak mam się odnieść do całości kodu ponieważ z galerii można wybrać zdjęcie za pomocą miniaturek, a ja chce dodać do tego dodatkowo przyciski. Bardzo możliwe, że jest to banadlna sprawa ale ja specem od PHP nie jestem.
  1. <table align="center" border="0">
  2. <tr>
  3. <?php
  4. $imgDir = "./image/galeria/hb";
  5. $thumbDir = "./image/galeria/thb";
  6. $thOnPage = 5;
  7.  
  8. if(isSet($_GET['iid']) && isSet($_GET['pid'])){
  9. $iId = $_GET['iid'];
  10. $pId = $_GET['pid'];
  11. }
  12. else{
  13. $iId = 0;
  14. $pId = 0;
  15. }
  16.  
  17. $dir = scandir($thumbDir);
  18. array_shift($dir);
  19. array_shift($dir);
  20.  
  21. $count = count($dir);
  22. $pages = ceil($count / $thOnPage);
  23.  
  24. if($iId < 0 || $iId > $count || $pId < 0 || $pId > $pages){
  25. $iId = 0;
  26. $pId = 0;
  27. }
  28.  
  29. for($i = 0; $i < $thOnPage; $i++){
  30. $imgNo = $pId * $thOnPage + $i;
  31. if($imgNo >= $count) break;
  32. $imgName = $dir[$imgNo];
  33. $imgTag = "<img src=\"$thumbDir/$imgName\" alt=\"$imgName\" />\n";
  34. $aHead = "<a href=\"./galeriahb.php?pid=$pId&amp;iid=$imgNo\">";
  35. $aFoot = "</a>";
  36. echo "<td>$aHead $imgTag $aFoot</td>\n";
  37. }
  38. $currThCount = $i;
  39. ?>
  40. </tr>
  41. <tr>
  42. <td colspan="<?php echo "$currThCount" ?>" align="center">
  43. <p>IdĽ do strony: </p>
  44. <?php
  45. for($i = 0; $i < $pages; $i++){
  46. $link = "<a href=\"./galeriahb.php?pid=$i&amp;iid=$iId\">$i</a>&nbsp;";
  47. echo $link;
  48. }
  49. ?>
  50. </td>
  51. </tr>
  52. //BUTTONY
  53. <tr>
  54. <td colspan="4" align="right"><img src="image/left.png" alt="Prev" border="0" align="left" /></td>
  55. <td align="left"><img src="image/right.png" alt="Next" border="0" align="right" /></td>
  56. </tr>
  57. <tr>
  58. <td colspan="<?php echo "$currThCount" ?>" align="center">
  59. <?php
  60. $imgName = $dir[$iId];
  61. $imgTag = "<img src=\"$imgDir/$imgName\" alt=\"$imgName\" />\n";
  62. echo $imgTag;
  63. ?>
  64. </td>
  65. </tr>
  66. </table>
ZeTu
Wystarczy, że zrobisz skrypt który na każdej stronie wyświetli np. 20 miniaturek. I np. po kliknięciu na NEXT przejdzie na podstronę o nazwie galeria.php?page=1 i tam będzie od 21 do 40 miniatur i później kolejna strona galeria.php?page=2 od 41 do 60, po prostu musisz zrobić skrypt który będzie wyświetlał w danym momencie daną liczbę miniatur. A pod odnośnikami NEXT i PREV musisz dać odpowiedni link generowany przez ten sam skrypt co wyświetlenia miniatur.

Nie podam gotowego bo nie mam ale podam przykład:
1-20 miniatur 1+0 2+0 3+0 4+0 5+0 ...
21-40 miniatur 1+20 2+20 3+20 4+20 5+20 ...
41-60 miniatur 1+40 2+40 3+40 4+40 5+40 ...
61-80 miniatur 1+60 2+60 3+60 4+60 5+60 ...
I zauważ, że po kliknięciu na galeria.php?page=1 system mnoży 20*1 i daje nam 20+1 i wyświetli nam miniaturkę o id 21 i tak samo z galeria.php?page=2 daje nam 20*2 czyli 40 i tak nam daje 1+40 daje miniaturkę 41.

Wierz o czym piszę?
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.