Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sortowanie wyników while
Forum PHP.pl > Forum > PHP
sagpiotr
Przeszukałem troche forum, ale nie moge wpaść na jakies sensowne rozwiązanie. Przypuszczam, że jest to banalna sprawa, ale jakos utknalem na tej blachostce.

Opis problemu:
Mam stworzoną tabelę MySql, w której mam zapisane nazwy plików graficznych.
Potrzebuje wyświetlić je w paczkach po dwa pliki zawarte w jednym wierszu tabeli, czyli


<Tr><td>Plik 1<br>Plik 2</td></tr>
<Tr><td>Plik 3<br>Plik 4</td></tr>
<Tr><td>Plik 5<br>Plik 6</td></tr>


Pomozcie w tej blachej sprawie, bo po 2 nocach pracy, zatrzymalem sie na takiej glupocie.

P
sf
Tylko nie bardzo napisales z czym sobie nie radzisz... chodzi o to by wyswietlal po 2 ?

1) jeden pomysl to jest taki, ze po pobraniu jednego elementu pobierasz drugi winksmiley.jpg i tworzysz <tr><td>pierwszy</td><td>pobrana druga nazwa</td></tr>

2) drugi pomysl to taki, ze hm, dodac jakas zmienna i if ($zmienna % 2 ) to, albo otworz <tr> i nazwa, albo nazwa i zamknij </tr> , oczywiscie zmienna trzeba ciagle inkrementowac

i nalezy oba sposoby zabezpieczyc przed nieparzysta iloscia plikow winksmiley.jpg
sagpiotr
Chodzi mi dokladnie o to, zeby wyniki byly porcjowane po 2.
Tutaj akurat zadalem przyklad na podstawie tabeli bo byl najprostrzy do wytlumaczenia, ale problem jest troche bardziej skomplikowany. Robie baze produktów, w którym chce wyswietlac zdjecia po 2 na stronie (gdzie max moze byc np. 10 zdjec) czyli 5 stron po 2 zdjecia, z tym, ze kolejna partia produktow ukryta jest na warstwach za pomoca js w znacznikach <div> . Chce generowac zakladki z warstwami dynamicznie i zalatwic to jednym zapytaniem. Kwestia prawidlowego rozlozenia petli while.

Czyli mamy strone, w ktorej mozemy sobie przejrzec zdjecia poprzez zakladki, nie przeladowujac strony.

Faktyczny rezulatat ma byc taki.
//Pierwsza widoczna warstwa
<div id=1>
<a href="">zdjecie 1</a><br>
<a href="">zdjecie 2</a>
</div>
//Kolejne warstwy sa ukryte, czyli
<div id=2>
<a href="">zdjecie 3</a><br>
<a href="">zdjecie 4</a>
</div>

<div id=3>
<a href="">zdjecie 5</a><br>
<a href="">zdjecie 6</a>
</div>

Kazdego <div> chce generowac petla while, przy wyciaganiu danych z tabeli.

Mam nadzieje, ze wytlumaczylem to w miare zrozumiale.

P
sf
No to odpowiedz juz dostales jak masz to zrobic... jak nadal masz problemy to podaj kod i pokaz, w ktorym miejscu Ci nie wychodzi tongue.gif
sagpiotr
  1. <?
  2. $zapytanie=&#092;"SELECT * FROM 8_port_foto WHERE id_dane='$_GET[id]'\";
  3. $mysql_result = mysql_query($zapytanie, $mysql_link);
  4. $znaleziono=mysql_num_rows($mysql_result);
  5. $i=1;  
  6. while ($row_fot = mysql_fetch_array($mysql_result)):
  7.  
  8. ?>
  9. <!--Rozpoczyna warstwe -->
  10. <div class=\"tab-page\" id=\"module<? echo $i; ?>\">
  11. <!--Wyswietla nr strony ze zdjeciami -->
  12.  <h2 class=\"tab\"><? echo $i; ?></h2>
  13.  
  14.  <!--Kawalek skryptu odpowiedzialnego za pokazywanie warstw -->
  15.  <script type=\"text/javascript\">
  16. tabPane1.addTabPage( document.getElementById( \"module<? echo $i; ?>\" ) );
  17. </script>
  18.  <? 
  19.  $ext = explode(&#092;".\", $row_fot[foto_nazwa]);
  20.  $typ = $ext[1];
  21.  //Funkcja wyswietla obraz w zaleznosci od typu
  22. czyt_katalog($row_fot[foto_nazwa], $typ, $row_fot[width], $row_fot[height]); 
  23.  ?>
  24.  </div>
  25.  
  26. <? $i++; 
  27.  endwhile;
  28.  ?>


Oto kawalek kodu wyswietlajacy mi w tym momencie jedno zdjecie za ktoro odpowiedzialna jest funkcja czyt_katalog. Chce wywolywac dwie funkcje z 2 roznymi wynikami z tabeli 8_port_foto, i juz brakuje mi pomyslow.
sf
hm, e, poprostu w petli while wstaw

  1. <?php
  2. $row_fot = mysql_fetch_array($mysql_result);
  3. ?>


i znow wywolaj funkcje
sagpiotr
oooo Masta, chyle czola. Dzieki sf, You're my hero! Nie wpadl bym chyba na to, wiedzialem, ze banal, hehe. Ja kombinowalem, ale dookola i bez sensu.

Off topic!

P
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.