Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie danych MySQL w kolumnach
Forum PHP.pl > Forum > PHP
tomeknh
Witam!

Mam kod
  1. <?php
  2. // zapytanie
  3. $result = mysql_query('SELECT * FROM '.$tlg['mysql_prefix'].'fotos ORDER BY date DESC');
  4.  
  5. // wyświetlanie
  6. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  7.  
  8. echo '<img src="'.$row['file'].'" alt="">';
  9.  
  10. }
  11. ?>


I jak zrobić żeby wyświetlać obrazki po 8 umieszczając je w div oraz żeby w co 4 obrazek było <BR> tzn. kod ma wyglądać tak:

<div>
<img src="obrazek1.jpg" alt="">
<img src="obrazek2.jpg" alt="">
<img src="obrazek3.jpg" alt="">
<img src="obrazek4.jpg" alt="">
<BR>
<img src="obrazek5.jpg" alt="">
<img src="obrazek6.jpg" alt="">
<img src="obrazek7.jpg" alt="">
<img src="obrazek8.jpg" alt="">
</div>

<div>
<img src="obrazek9.jpg" alt="">
<img src="obrazek10.jpg" alt="">
<img src="obrazek11.jpg" alt="">
<img src="obrazek12.jpg" alt="">
<BR>
<img src="obrazek13.jpg" alt="">
<img src="obrazek14.jpg" alt="">
<img src="obrazek15.jpg" alt="">
<img src="obrazek16.jpg" alt="">
</div>

itp.



Za nic nie mogę wymyślić jak to zrobić sad.gif
Z góry dziękuje za pomoc ! Pozdrawiam !
shark121
  1. <?php
  2. // zapytanie
  3. $result = mysql_query('SELECT * FROM '.$tlg['mysql_prefix'].'fotos ORDER BY date DESC');
  4. $liczba_odpowiedzi = mysql_num_rows($result);
  5. // wyświetlanie
  6. $licznik_div = 1;
  7. $licznik_br = 1;
  8. echo '<div>';
  9. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  10. echo '<img src="'.$row['file'].'" alt="">';
  11. if($licznik_br == 4) {
  12. echo '<br />';
  13. $licznik_br = 0;
  14. }
  15. if($licznik_div == 8) {
  16. echo '</div>';
  17. if($liczba_odpowiedzi > $licznik_ogol) echo '<div>';
  18. $licznik_div = 0;
  19. }
  20. if($licznik_ogol == $liczba_odpowiedzi) echo '</div>';
  21. $licznik_div++;
  22. $licznik_br++;
  23. $licznik_ogol++;
  24. }
  25. ?>
tomeknh
Jestem w szoku dziękuje bardzo za pomoc!!!!!!!!

Jest tylko jeden problem - <BR /> wyświetla się co czwarty obrazek, jednak przy ósmym nie powinno się wyświetlać bo to kończy div

powinno być tak:
<div>obrazek1 obrazek2 obrazek3 obrazek4 <BR> obrazek5 obrazek6 obrazej7 obrazek8</div>

a jest tak
<div>obrazek1 obrazek2 obrazek3 obrazek4 <BR> obrazek5 obrazek6 obrazej7 obrazek8</div><BR>





Edit.

Poradziłem sobie tak:
  1. // zapytanie
  2. $result = mysql_query('SELECT * FROM '.$tlg['mysql_prefix'].'fotos ORDER BY date DESC');
  3. $liczba_odpowiedzi = mysql_num_rows($result);
  4.  
  5. // wyświetlanie
  6. $licznik_div = 1;
  7. $licznik_br = 1;
  8. $dane .= '<div>';
  9. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  10. $dane .= '<img src="'.$tlg['script_adress'].'upload/s_'.$row['file'].'" alt="">';
  11. if($licznik_br == 4) {
  12. $dane .= 'napis';
  13. $licznik_br = 0;
  14. }
  15. if($licznik_div == 8) {
  16. $dane .= '</div>';
  17. if($liczba_odpowiedzi > $licznik_ogol) $dane .= '<div>';
  18. $licznik_div = 0;
  19. }
  20. if($licznik_ogol == $liczba_odpowiedzi) $dane .= '</div>';
  21. $licznik_div++;
  22. $licznik_br++;
  23. $licznik_ogol++;
  24. }
  25.  
  26. $dane = str_replace("napis</div>", "", $dane);
  27. echo $dane;



ale nie wiem czy str_replace to bedzie szybkie i dobre rozwiaznie?questionmark.gifquestionmark.gif?
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.