Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyświetlanie wyników zdjęć.....
Forum PHP.pl > Forum > Przedszkole
sottu
Witam mam taki problem. Wyświetlają mi się zdjęcia z tabeli po 3 w rzędzie działa to idealnie, ale problem polega na tym że zdarzają się zdjęcia bardzo szerokie i są one nieproporcjonalne do pozostałych więc czy da się jakoś napisać skrypt który będzie sprawdzał szerokość zdjęcia i jeżeli zdjęcie jest szersze niż coś tam to zostawi tylko 2 zdjęcia w rzędzie. Mam nadzieje że ktoś zrozumie o co chodzi. Proszę o pomoc.
Daiquiri
Owszem możesz sprawdzić rozmiar zdjęcia, możesz je nawet odpowiednio zmniejszyć. Możesz również postawić odpowiedni warunek, dla wyświetlania 3 lub 2 zdjęć. Google powinno podpowiedzieć odpowiednie rozwiązania pod hasłem php + rozmiar obrazka itd. Zerknij np. na getimagesize w manualu i podane tam przykłady. Następnie (po pobraniu szerokości) pozostanie Ci skorzystać z warunku np. if ($SumaSzerokościWiersza > maksymalna szerokość) wyświetl 2 miniatury; else wyświetl 3.
emajl22
albo <img src="x" width="100px;" /> ale stracisz na jakości
sottu
Kurcze coś mi nie wychodzi czy ktoś mógłby pomóc ?
  1. $i=0;
  2. $ilosc=3;
  3. echo"<tr bordercolor='white' border=0>";
  4. while($dane = mysql_fetch_row($mysql_result))
  5. {
  6. $foto='./vedicart/'.$dane[2];
  7. list($width, $height, $type, $attr)= getimagesize($foto);
  8. $percent_resizing = 50;
  9. $new_width = round((($percent_resizing/100)*$width));
  10. $new_height = round((($percent_resizing/100)*$height));
  11. $orginalny = getimagesize($foto);
  12.  
  13. echo "<td valign='bottom' bordercolor='white' border=0>
  14. <a href='$foto' rel='lightbox[1]'><center>
  15. <img src='$foto' width='$new_width' height='$new_height' border=0 style='margin-bottom: 13px;' align=top></center></a><div align=center><font color='#fa6602'>$dane[1]</font></div></td>";
  16. $i++;
  17. if ($i>=$ilosc && $orginalny[0]>500)
  18. {
  19. echo("</tr>");
  20. echo("<tr>");
  21. $ilosc=$ilosc+3; // tu chce by wyświetlały 3 obrazki
  22. }
  23. else if ($i>=$ilosc && $orginalny[0]<700)
  24. {
  25. echo("</tr>");
  26. echo("<tr>");
  27. $ilosc=$ilosc+2; // tu chce by wyświetlały się tylko 2 obrazki
  28. }
  29. }


Tak mam teraz napisany kod i to nie działa najlepiej :/ Sam już nie wiem jak to zrobić.
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.