Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyswietlanie danych z bazy w 3 kolumnach
Forum PHP.pl > Forum > PHP
wozniak
Witam jak wyswietlic dane z bazy w ten sposob:

Dane z tabeli 1|Dane z tabeli 2|Dane z tabeli 3
Dane z tabeli 4|Dane z tabeli 5|Dane z tabeli 6
Dane z tabeli 7|Dane z tabeli 8|Dane z tabeli 9
itd.
Jak to zrobic?
aleksander
masz fragment mojego starego skryptu galerii który w ten sposób wyświetla obrazki:
  1. <?php
  2. $kol = 3; //ile kolumn
  3. $output = '<table>';
  4. for( $row_count = 0; ...; ... )
  5. {
  6. if( $row_count == 0)
  7. {
  8. $output .= &#092;"n<tr>n\";
  9. $row_count++;
  10. }
  11. if( ( $row_count > 0 ) && ( $row_count <= $kol ) )
  12. {
  13. $output .= &#092;"<td>tutaj dane z tabeli n</td>n\";
  14. $row_count++;
  15. }
  16. if( $row_count > $kol )
  17. {
  18. $output .= &#092;"</tr>n\";
  19. $row_count=0;
  20. }
  21. }
  22. $output .= '</table>';
  23. echo $output;
  24. ?>
wozniak
Co zle zrobiłem:
  1. <?php
  2. $kol = 3; //ile kolumn
  3. $output = '<table>';
  4. $zapytanie = $db->sql_query(&#092;"SELECT * FROM Tapety_kom WHERE id='$id'\"); 
  5. for( $row_count = mysql_fetch_array($zapytanie)) 
  6. {
  7. $id = $rekord['id'];        
  8.     if( $row_count == 0)
  9.     {
  10.         $output .= &#092;"n<tr>n\";
  11.         $row_count++;
  12.     }
  13.     if( ( $row_count  > 0 ) && ( $row_count <= $kol ) )
  14.     {
  15.         $output .= &#092;"<td>$id</td>n\";
  16.         $row_count++;
  17.     }
  18.     if( $row_count > $kol )
  19.     {
  20.         $output .= &#092;"</tr>n\";
  21.         $row_count=0;
  22.     }
  23. }
  24. $output .= '</table>';   
  25. echo $output;
  26. ?>

questionmark.gif?
aleksander
poczyataj sobie o pętli FOR bo zrobiłeś źle jej deklaracje
  1. <?php
  2. for( $row_count = mysql_fetch_array($zapytanie))
  3. ?>
ja $row_count dałem 0 (zero) a Ty przypisujesz do niego wynik mysql_fetch ...
kszychu
Cytat(wozniak @ 2005-02-28 14:35:30)
Co zle zrobiłem:

Zastosowałeś niewłaściwe znaczniki bbcode. Popraw to.
wozniak
To jak to trzeba zrobic?
aleksander

A co do kodu to odsyłam do manuala i kazego lepszego kursu php. We wszystkich są pętle for.
tiraeth
  1. <?php
  2. $kol = 3; //ile kolumn
  3. $output = '<table>';
  4. $zapytanie = $db->sql_query(&#092;"SELECT * FROM Tapety_kom WHERE id='$id'\");
  5. foreach( $row_count = mysql_fetch_array($zapytanie)) # tutaj foreach a nie for
  6. {
  7. $id = $rekord['id'];
  8.  if( $row_count == 0)
  9.  {
  10.  $output .= &#092;"n<tr>n\";
  11.  $row_count++;
  12.  }
  13.  if( ( $row_count > 0 ) && ( $row_count <= $kol ) )
  14.  {
  15.  $output .= &#092;"<td>$id</td>n\";
  16.  $row_count++;
  17.  }
  18.  if( $row_count > $kol )
  19.  {
  20.  $output .= &#092;"</tr>n\";
  21.  $row_count=0;
  22.  }
  23. }
  24. $output .= '</table>';
  25. echo $output;
  26. ?>
wozniak
Nie działa
  1. <?php
  2. $kol = 3; //ile kolumn
  3. $output = '<table>';
  4. $zapytanie = $db->sql_query(&#092;"SELECT * FROM Tapety_kom\");
  5. foreach( $row_count = mysql_fetch_array($zapytanie)){
  6. $id = $rekord['id'];
  7.  if( $row_count == 0)
  8.  {
  9.  $output .= &#092;"n<tr>n\";
  10.  $row_count++;
  11.  }
  12.  if( ( $row_count > 0 ) && ( $row_count <= $kol ) )
  13.  {
  14.  $output .= &#092;"<td>$id</td>n\";
  15.  $row_count++;
  16.  }
  17.  if( $row_count > $kol )
  18.  {
  19.  $output .= &#092;"</tr>n\";
  20.  $row_count=0;
  21.  }
  22. }
  23. $output .= '</table>';
  24. echo $output;
  25. ?>

Bład:
Parse error: syntax error, unexpected '{' in C:\Program Files\WebServ\httpd-users\db-tuning\modules\Tapety_kom\k.php on line 6
aleksander
a $rekord to skąd ma wziąć??
Zajrzyj do manuala i sprawdź składnie pętli foreach.
Powtarzam po raz drugi:
$row_count w moim kodzie ma inne zastosowanie niż Ty go wykożystujesz.
--
Ludzie, nie dawjacie wszystkiego na tacy, bo się potem poczatkujący programista NICZEGO nie nauczy, jak każdy fragment kodu zostanie napisany przez kogoś innego :S
wozniak
Poddaje sie pomoze mi ktos?
aleksander
  1. <?php
  2. $kol = 3; //ile kolumn
  3. $output = '<table>';
  4. $zapytanie = $db->sql_query(&#092;"SELECT * FROM Tapety_kom\");
  5. $row_count = 0;
  6. while( $rekord = mysql_fetch_array( $zapytanie ) )
  7. {
  8.  $id = $rekord['id'];
  9.  if( $row_count == 0)
  10.  {
  11.  $output .= &#092;"n<tr>n\";
  12.  $row_count++;
  13.  }
  14.  if( ( $row_count > 0 ) && ( $row_count <= $kol ) )
  15.  {
  16.  $output .= &#092;"<td>$id</td>n\";
  17.  $row_count++;
  18.  }
  19.  if( $row_count > $kol )
  20.  {
  21.  $output .= &#092;"</tr>n\";
  22.  $row_count=0;
  23.  }
  24. }
  25. $output .= '</table>';
  26. echo $output;
  27. ?>
wozniak
dzieki...
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.