Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Wyświetlanie bazy danych w tabeli, Jak wyświetlić bazę dynamiczną
Bejkrools
post 15.11.2012, 17:20:47
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 15.11.2012

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


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>";
Go to the top of the page
+Quote Post
b4rt3kk
post 15.11.2012, 17:25:59
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


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>';



--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Bejkrools
post 15.11.2012, 23:21:26
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 15.11.2012

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


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?

Ten post edytował Bejkrools 15.11.2012, 23:39:12
Go to the top of the page
+Quote Post
b4rt3kk
post 16.11.2012, 00:12:13
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


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

  1. foreach($row as $value) echo "<td>".$value."</td>";
  2. echo '</tr>';


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.05.2025 - 04:18