Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autmatyczne tworzenie tabeli - problem
Forum PHP.pl > Forum > Przedszkole
dado
napisałem małay skrypcik który przeszukuje folder z obrazkami i wyswietla je w dowolnie ustawianej liczbie kolumn html-owej tabeli, dodatkowo zdjecia są stronicowane a pod spodem są wyswietlane linki do dalszch zdjęć z danego katalogu.

problem w tym ze w pierwszym wierszu skrypt wyswietla mi tylko jedno zdjęcie a dopiero w drugim ządaną liczbę czyli 3 a powinno być odwrotnie.

bardzo prosze o wskazówkę za długo nad tym siedziałem i juz nic nie widzę, z góry dziękuje.

  1. <?php
  2.  
  3. //liczenie
  4. $naStronie = 3;
  5. if($_GET['strona']) $strona = $_GET['strona']; else $strona = 0; 
  6. $size = count_files($dir_inner);
  7. $site=ceil($size/$naStronie)-1;
  8. $start = $strona*$naStronie;
  9.  
  10. if($strona == 1){$naStronie = $naStronie*2;}
  11. if($strona == 2){$naStronie = $naStronie*3;}
  12.  
  13.  $nws.='<br />';
  14.  if($strona!=0) {$nws.=" <a class="small" href="?k=".$kt."&strona=".($strona-1)."">poprzednie</a>"; }
  15.  //for($i=1; $i<=$site; $i++){$nws.=" <a class="small" href="".$kt."&strona=".$i.".html">$i</a> |";}
  16.  if($strona<ceil($size/$naStronie)-1){$nws.=" <a class="small" href="?k=".$kt."&strona=".($strona+1)."">nastepne</a>"; }
  17.  
  18.  
  19. $i = 0;
  20. $ilosc_kolumn = 3;
  21.  
  22. if($inner = @opendir($dir_inner))
  23. {
  24. while($plik = @readdir($inner)){if(@ereg(".jpg$|.JPG$|.jpeg$|.JPEG$",$plik)){$zdjecia[$i++]=$plik;}}
  25. @closedir($inner);
  26.  
  27.  
  28. //echo 'od ' .$start . ' do '. $naStronie;
  29. for($z=$start; $z <= $naStronie; $z++)
  30. {
  31. if(strlen($zdjecia[$z]) > 1)
  32. {
  33. if($i%$ilosc_kolumn == 0) $inner_files .="<tr>";
  34.  
  35. $inner_files .="<td align="center">".imga($dir_inner,$zdjecia[$z])."<br/>".$tit[$i]."</td>";
  36.  
  37. if($i%$ilosc_kolumn == $ilosc_kolumn-1) $inner_files .="</tr>";
  38. ++$i;
  39.  
  40. }
  41. else
  42. {
  43. $inner_files .='';
  44. }
  45.  
  46. }
  47. if($i%$ilosc_kolumn != 0) $inner_files .= "</tr>";
  48. $inner_files .= "<tr><td align="right" colspan="".$ilosc_kolumn."">".$nws."</td></tr>";
  49. $inner_files .="</table>";
  50.  
  51. }
  52. else
  53. {
  54. $inner_files = "<h3>błąd.</h3>";
  55. }
  56.  
  57.  
  58. ?>
mike
W linii 19 jest zmienna $i. Jeśli zaczynasz od 0 to masz:
0 % 3 = 0
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
...
To pierwsze zero psuje Ci zabawę.

Zacznij numerowanie $i od jedynki:
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
...
dado
zrobiłem jak radziałeś (dzięki) i pomogło w przypadku pierwszego katalogu reszta w których jest więcej niz 4 foty wyswietlają się po staremu. Dodatkowo w niektórych katalogach pomimo ze są 3 pliki wyswietlaja sie w 2 wierszach.

http://projekty.trustnet.pl/volta/v3/

tu mozna zobaczy jak to działa
angel2953
Cytat(dado @ 2005-11-22 12:46:57)
zrobiłem jak radziałeś (dzięki) i pomogło w przypadku pierwszego katalogu reszta w których jest więcej niz 4 foty wyswietlają się po staremu. Dodatkowo w niektórych katalogach pomimo ze są 3 pliki wyswietlaja sie w 2 wierszach.

Z tego co widzę to już wina rozkładu komórek tabeli. Daj w tabeli border="1" to zobaczysz, że czasami komórki są zbyt szerokie
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.