Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mieszanie tabelek
dyktek
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

Ostrzeżenie: (0%)
-----


Witam mam pytanie. Pobieram jakąś tresc z bazy w ten sposób

  1. <?php
  2.  
  3. $query = mysql_query("SELECT * FROM `cos` OREDER by `id`") or die (mysql_error());
  4. while($row = mysql_fetch_array($query)){
  5.  
  6. echo'<table cellpadding="0" cellspacing="1" width="590">
  7. <tr>
  8.  <td class="biala" width="144">'.$row['jakis_rekord'].'</td></tr></table>';
  9. }
  10.  
  11. ?>


to zapytanie będzie zwracać rekordy z tabeli coś i kazdy rekord umiesci w tabelce z classą
  1. class="biala"
i zalozmy ze ta klasa oznacza to ze tło tabelki w której będzie rekord będzie białe a chciałem tak zrobic aby zwracało mi to w ten sposób że raz tło będzie białe a raz zółte i nie wiem jak to zrobić bo na pewno nie tak:

  1. <?php
  2.  
  3. $query = mysql_query("SELECT * FROM `cos` OREDER by `id`") or die (mysql_error());
  4. while($row = mysql_fetch_array($query)){
  5.  
  6. echo'<table cellpadding="0" cellspacing="1" width="590">
  7. <tr>
  8.  <td class="biala" width="144">'.$row['jakis_rekord'].'</td></tr>
  9.  <tr>
  10.  <td class="zolta" width="144">'.$row['jakis_rekord'].'</td></tr>
  11. </table>';
  12. }
  13.  
  14. ?>


chodzi mi o efekt jak np. tutaj http://opisy.gix.pl/ opisy zwracane są raz na szarym a raz na biały tle.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
konys
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

Ostrzeżenie: (0%)
-----


W trakcie pobierania z rezultatu SQL poszczególnych rekordów, musisz ustalić, który jest 'parzysty' a który 'nieparzysty'. Ogólnie, jeśli chcesz zastosować w kolorowaniu n klas CSS, musisz wiedzieć, czy aktualnie wyświetlany rekord jest co k-ty, k+1, ..., k+n-1. Najprościej uzyskać to przechowując licznik rekordów i pobierając resztę z dzielenia licznika modulo n. Służy do tego operator %.
  1. <?php
  2.  
  3.  $klasy = array('klasa0', 'klasa1', ..., 'klasan');
  4.  $n = count($klasy);
  5.  $licznik = 0;
  6.  while( $rekord = mysql_fetch_array( $result ) )
  7.  {
  8. echo $klasy[ $licznik % $n ].' '.$rekord['pole'];
  9. $licznik ++;
  10.  }
  11.  
  12. ?>


W podanym przykładzie masz 2 klasy ('biala' i 'zolta') - oczywiście musisz sobie dostosować wyświetlanie rekordów wewnątrz pętli.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 14:30