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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




No to ja to lekko poprawię (kod mike_mech). W chwili obecnej generowanych jest n tabelek z jednym rekordem. Jest to ciut złe rozwiązanie. Powinna generować się jedna tabelka z n rekordami. Należy więc znacznik table wyciągnąc przed pętle.
Pozatym klasę z kolorem lepiej jest chyba nadać na wiersz (tr) a nie na komórkę (td), dzieki czemu mozna bedziec dodac bez problemu jeszcze jakies komorki, a kolor wiersza bedzie dla wszystkich z nich taki sam.
No i w ifie należy zmieniac tylko zmienną $class, a nie całe wiersze. Dzieki temu kod jest czytelniejszy i krótszy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2.  
  3. $query = mysql_query("SELECT * FROM `cos` OREDER by `id`") or die (mysql_error());
  4.  
  5. $i = 1;
  6. echo'<table cellpadding="0" cellspacing="1" width="590">';
  7. while($row = mysql_fetch_array($query))
  8. {
  9.     if( $i % 2 == 0 )
  10.         $class = 'biala';
  11.     else
  12.         $class = 'zolta';
  13.   echo '
  14.   <tr class="'.$class.'">
  15.   <td width="144">'.$row['jakis_rekord'].'</td></tr>';
  16.  
  17.     $i++;
  18. }
  19. echo '</table>';
  20.  
  21.  
  22. ?>
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: 27.12.2025 - 04:36