Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Tabela w funkcji while
Forum PHP.pl > Forum > Przedszkole
Kaarpiik
Witam mam problem. Próbuje zrobić tabelę z nagłówkami w której wyświetlane będą rekordy z bazy.

Kod
<?php
// Połączenie z bazą
$connect = @mysql_connect("localhost", "root", "aaaaaa") or die ('Nie można połączyć z serwerem MYSQL. Błąd: '.mysql_error());
$db = @mysql_select_db("baza") or die ('Nie można połączyć z bazą danych. Błąd:'.mysql_error());
?>
<table border="1">
<tr align="center">
<td>Nagłówek1</td>
<td>Nagłówek2</td>
<td>Nagłówek3</td>
<td>Nagłówek4</td>
</tr>
<?php
if(isset($_GET['monters']) && $_GET['monters']=='show')
{
$link=mysql_query('SELECT * FROM monsters');
while($wiersz=mysql_fetch_array($link))
{
?>
<tr>
<td> <?php echo $wiersz['rekord1']; ?> </td>
<td> <?php echo $wiersz['rekord2']; ?> </td>
<td> <?php echo $wiersz['rekord3']; ?> </td>
<td> <?php echo $wiersz['rekord4']; ?> </td>
</tr>
</table>
<?php
}
}
?>


Wszystko ładnie pięknie ale:

Wyświetla mi nagłówki w tabeli tak jak powinno, pierwszy wiersz cały mi wyświetla w tabeli również ale już gdy dodaje kolejne wiersze do tabeli w bazie danych niestety na stronie są poza tabelką. W tabeli jest tylko jeden wiersz a kolejne nie.

Jakaś rada? =)

thek
KOD! Zamykasz znacznik tabeli wewnątrz while.
  1. <?php
  2. if(isset($_GET['monters']) && $_GET['monters']=='show')
  3. {
  4. $link=mysql_query('SELECT * FROM monsters');
  5. while($wiersz=mysql_fetch_array($link))
  6. {
  7. ?>
  8. <tr>
  9. <td> <?php echo $wiersz['rekord1']; ?> </td>
  10. <td> <?php echo $wiersz['rekord2']; ?> </td>
  11. <td> <?php echo $wiersz['rekord3']; ?> </td>
  12. <td> <?php echo $wiersz['rekord4']; ?> </td>
  13. </tr>
  14. </table>
  15. <?php
  16. }
  17. }
  18. ?>
Powinien zaś on być za klamrą zamykającą IFa
Kaarpiik
  1. <?php
  2. if(isset($_GET['monters']) && $_GET['monters']=='show')
  3. {
  4. $link=mysql_query('SELECT * FROM monsters');
  5. while($wiersz=mysql_fetch_array($link))
  6. {
  7. ?>
  8. <tr>
  9. <td> <?php echo $wiersz['rekord1']; ?> </td>
  10. <td> <?php echo $wiersz['rekord2']; ?> </td>
  11. <td> <?php echo $wiersz['rekord3']; ?> </td>
  12. <td> <?php echo $wiersz['rekord4']; ?> </td>
  13.  
  14. <?php
  15. }
  16. ?>
  17. </tr>
  18. </table>
  19. <?php
  20. }
  21. ?>



Dzięki pomogło =)

thek
nadal będziesz miał źle. Wywaliłeś bowiem poza while zamknięcie wiersza </tr>. Jeśli zaś nie będzie spełniony warunek if to Twoja tabela także nie będzie zamknięta.
  1. <?php
  2. if(isset($_GET['monters']) && $_GET['monters']=='show')
  3. {
  4. $link=mysql_query('SELECT * FROM monsters');
  5. while($wiersz=mysql_fetch_array($link))
  6. {
  7. ?>
  8. <tr>
  9. <td> <?php echo $wiersz['rekord1']; ?> </td>
  10. <td> <?php echo $wiersz['rekord2']; ?> </td>
  11. <td> <?php echo $wiersz['rekord3']; ?> </td>
  12. <td> <?php echo $wiersz['rekord4']; ?> </td>
  13. </tr>
  14. <?php
  15. }
  16. }
  17. ?>
  18. </table>


Kaarpiik
Cytat(thek @ 10.09.2009, 15:00:22 ) *
nadal będziesz miał źle. Wywaliłeś bowiem poza while zamknięcie wiersza </tr>. Jeśli zaś nie będzie spełniony warunek if to Twoja tabela także nie będzie zamknięta.


Racja u siebie zrobiłem dobrze tylko tutaj źle przepisałem =) Dzięki
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.