Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Wyświetlanie bazy danych w tabeli
Forum PHP.pl > Forum > Przedszkole
Bejkrools
Witajcie, raczkuję w temacie kodowania, dlatego mój problem może wydawać wam się prosty w rozwiązaniu, ale dla mnie jest to przeszkoda nie do przejścia.

chciałbym na stronie wyświetlić zawartość bazy danych z tym, że stale zmienia się liczba kolumn i wierszy w tej bazie dlatego sama tabela powinna powstawać w dwóch pętlach. I tu się zaczęły schody bo nie wiem jak się za to zabrać. Póki co udało mi się wyświetlić nagłówki ale co teraz? Jak wyświetlić kolejne wiersze? Proszę o pomoc, bo bez tego dalej nie ruszę :-(

Oto mój działający już kod który wyświetla dynamicznie nagłówki kolumn:

  1. $wynik = mysql_query("SHOW COLUMNS FROM TABELA");
  2. while($row = mysql_fetch_assoc($wynik))
  3. {
  4. $columns[] = $row['Field'];
  5. }
  6. echo "<table border='1'><tr>";
  7. for ( $x = 0, $cnt = count($columns); $x < $cnt; $x++ )
  8. {
  9. echo "<th>[".$columns[$x]."]</th>";
  10. $sql = mysql_query("SELECT * FROM TABELA)
  11. }
  12. echo "</td></table>";
b4rt3kk
Spróbuj coś w ten deseń:

  1. $wynik = mysql_query("SELECT * FROM TABELA");
  2. echo '<table>';
  3. while($row = mysql_fetch_assoc($wynik)) {
  4. echo '<tr>';
  5. foreach($row as $value) echo '<td>'.$value.'</td>';
  6. echo '</tr>';
  7. }
  8. echo '</table>';

Bejkrools
Zrobiłem coś takiego:

  1.  
  2. $wynik = mysql_query("SHOW COLUMNS FROM PLAN");
  3. while($row = mysql_fetch_assoc($wynik))
  4. {
  5. $columns[] = $row['Field'];
  6. }
  7.  
  8. echo "<table border='1'>";
  9. for ( $x = 0, $cnt = count($columns); $x < $cnt; $x++ )
  10. {
  11. echo "<th>".$columns[$x]."</th>";
  12. $sql = mysql_query("SELECT * FROM tabela");
  13. while ( $row = mysql_fetch_assoc($sql) )
  14. {
  15. echo "<tr>";
  16. foreach($row as $value) echo "<td>".$value."</td></tr>";
  17. }
  18. }
  19. echo "</table>";


ale ten kod wyświetla mi wszystko w jednej kolumnie:

Nagłówek 1
Dana 1.1
Dana 1.2
Nagłówek 2
Dana 2.1
Dana 2.2
...

Co pomieszałem?
b4rt3kk
Przeniosłeś </tr> do pętli foreach. Powinno być poza nią.

  1. foreach($row as $value) echo "<td>".$value."</td>";
  2. echo '</tr>';
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.