Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Wyświetlanie danych
Forum PHP.pl > Forum > Przedszkole
Lemik
Jestem początkującym, więc proszę o wyrozumiałość.

Napisałem prosty skrypcik, logowanie do bazy danych oraz pobieranie z niej danych i wyświetlanie ich.
Utknąłem być może na jakimś prostym błędzie.
Po prostu nic się nie dzieje, biała czysta strona.
Pomoże ktoś? smile.gif

  1. <?php
  2. $dbhost="host";
  3. $dbname="nazwa";
  4. $dbuser="user";
  5. $dbpw="pw";
  6.  
  7. print "<table cellpadding=7 border=1>";
  8. print "<tr><td><b>id_miasta</b></td><td><b>miasto</b></td><td><b>ulica</b></td>";
  9. print "<td><b>mieszkancy</b></td><td><b>uwagi</b></td></tr>\n";
  10. $open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
  11. $sql=mysql_query("SELECT miasto.id_miasta, miasto.miasto, miasto.ulica, miasto.mieszkancy, miasto.uwagi FROM miasto") or die (mysql_error());
  12. while ($rekord = mysql_fetch_assoc ($sql)) {
  13. $id = $rekord['id_miasta'];
  14. $m = $rekord['miasto'];
  15. $u = $rekord['ulica'];
  16. $mi = $rekord['mieszkancy'];
  17. $uw = $rekord['uwagi'];
  18.  
  19. $out .= "<tr><td>$id</td><td>$m</td><td>$u</td>";
  20. $out .= "<tr>$mi</td><tr>$uw</td></tr>\n";
  21. }
  22. print $out;
  23. print "</table>;
  24.  
  25. ?>
nospor
po pierwsze: wlacz sobie wyswietlanie wszystkich bledow
http://nospor.pl/php-faq-n29.html#faq-2
bialej strony juz nie zobaczysz winksmiley.jpg

po drugie: zainteresuj sie ostatnią linijka w swoim kodzie
MajareQ
Porównaj kody, bo robisz dużo błędów:

(nie sprawdzałem czy poprawiłem wszystkie)

  1. <?php
  2. $dbhost="host";
  3. $dbname="nazwa";
  4. $dbuser="user";
  5. $dbpw="pw";
  6.  
  7. print "<table cellpadding=7 border=1>";
  8. print "<tr><td><b>id_miasta</b></td><td><b>miasto</b></td><td><b>ulica</b></td>";
  9. print "<td><b>mieszkancy</b></td><td><b>uwagi</b></td></tr><br />";
  10. $open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
  11. mysql_select_db($dbname) or die("error");
  12. $sql=mysql_query("SELECT 'miasto.id_miasta', 'miasto.miasto', 'miasto.ulica', 'miasto.mieszkancy', 'miasto.uwagi' FROM 'miasto'") or die ("error");
  13. while ($rekord = mysql_fetch_assoc ($sql)) {
  14. $id = $rekord['id_miasta'];
  15. $m = $rekord['miasto'];
  16. $u = $rekord['ulica'];
  17. $mi = $rekord['mieszkancy'];
  18. $uw = $rekord['uwagi'];
  19. $out = "<tr><td>".$id."</td><td>".$m."</td><td>".$u."</td><tr>".$mi."</td><tr>".$uw."</td></tr><br />";
  20. print $out;
  21. }
  22. print "</table>";
  23. ?>
Lemik
dzięki, pomogło, główna przyczyna nie wyświetlania, jak przystało na początkujacego, to zgubiony cudzysłów w ostateniej linijce winksmiley.jpg

ja napisałem to tak

  1. <?php
  2. $dbhost="host";
  3. $dbname="name";
  4. $dbuser="user";
  5. $dbpw="pw";
  6.  
  7. $open = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
  8. $sql=mysql_query("SELECT * FROM miasto") or die (mysql_error());
  9.  
  10.    echo "<table cellpadding=7 border=1>";
  11.    echo "<tr><td><b>id_miasta</b></td><td><b>miasto</b></td><td><b>ulica</b></td>";
  12.    echo "<td><b>mieszkancy</b></td><td><b>uwagi</b></td></tr>\n";
  13.    
  14.    while ($rekord = mysql_fetch_assoc ($sql)) {
  15.    $id_miasta = $rekord['id_miasta'];
  16.    $miasto = $rekord['miasto'];
  17.    $ulica = $rekord['ulica'];
  18.    $mieszkancy = $rekord['mieszkancy'];
  19.    $uwagi = $rekord['uwagi'];
  20.    
  21.    echo "<tr><td>$id_miasta</td><td>$miasto</td><td>$ulica</td><td>$mieszkancy</td><td>$uwagi</td>\n";
  22.    }
  23.    echo "</table>";
  24.    
  25.    ?>


powyższy mój kod już działa
czy można się do czegoś tu przyczepić, zmienić coś na coś?
drPayton
Cytat(Lemik @ 14.10.2008, 11:55:02 ) *
(...)
czy można się do czegoś tu przyczepić, zmienić coś na coś?


Zacząć wymieniać? haha.gif

A tak serio, to dla przykładu:
1. Dane połączenia do bazy wrzuć do osobnego pliku, łatwiej będzie zachować porządek w miarę jak skrypt będzie się rozrastał
2. Ciągły kod html ubierasz w osobne linijki echo. Po co to? Nie tylko nei ma to żadnego uzasadnienia to jeszcze wpływa na wydajność (niewiele bo niewiele, ale raz - nawyki, dwa - ziarnko do ziarnka...)
3. Daj raportowanie błędów, o którym pisał @nospor. Na czas tworzenia na najwyższy poziom (E_ALL | E_STRICT). Wychwycisz takie błędy jak tu miałeś.

Tyle na wstępie, a na przyszłość (choć moim zdaniem w ramach wyrabiania nawyków trzeba zaczynać od tego) - oddzielaj html od kodu php tak dalece jak tylko się da. Na początek nawet najprostszą metodą:

Zamiast:
  1. <?php
  2. echo "<table cellpadding=7 border=1>";
  3.   echo "<tr><td><b>id_miasta</b></td><td><b>miasto</b></td><td><b>ulica</b></td>";
  4.   echo "<td><b>mieszkancy</b></td><td><b>uwagi</b></td></tr>\n";
  5.  
  6.   while ($rekord = mysql_fetch_assoc ($sql)) {
  7.   $id_miasta = $rekord['id_miasta'];
  8.   $miasto = $rekord['miasto'];
  9.   $ulica = $rekord['ulica'];
  10.   $mieszkancy = $rekord['mieszkancy'];
  11.   $uwagi = $rekord['uwagi'];
  12.  
  13.   echo "<tr><td>$id_miasta</td><td>$miasto</td><td>$ulica</td><td>$mieszkancy</td><td>$uwagi</td>\n";
  14.   }
  15.   echo "</table>";
  16. ?>


Zrób coś w stylu:

  1. <?php
  2. while ($rekord = mysql_fetch_assoc ($sql)) {
  3.   $tabelka[]['id_miasta'] = $rekord['id_miasta'];
  4.   $tabelka[]['miasto'] = $rekord['miasto'];
  5.   $tabelka[]['ulica'] = $rekord['ulica'];
  6.   $tabelka[]['mieszkancy'] = $rekord['mieszkancy'];
  7.   $tabelka[]['uwagi'] = $rekord['uwagi'];
  8. }
  9. include 'tabelka.php';
  10. ?>


tabelka.php
  1. <?php
  2. <table cellpadding=7 border=1>
  3. <tr><td><b>id_miasta</b></td><td><b>miasto</b></td><td><b>ulica</b></td>
  4. <td><b>mieszkancy</b></td><td><b>uwagi</b></td></tr>
  5.  
  6. // start php
  7. foreach($tabelka AS $value) {
  8.   $id_miasta = $rekord['id_miasta'];
  9.   $miasto = $rekord['miasto'];
  10.   $ulica = $rekord['ulica'];
  11.   $mieszkancy = $rekord['mieszkancy'];
  12.   $uwagi = $rekord['uwagi'];
  13.  
  14.   echo "<tr><td>$value['id_miasta']</td><td>$value['miasto']</td><td>$value['ulica']</td><td>$value['mieszkancy']</td><td>$value['uwagi']</td>\n";
  15. }
  16. // koniec php
  17. </table>
  18. ?>


PS. Nie wiem czy z indeksami tablicy nie pomieszałem, nie mam jak sprawdzić teraz... winksmiley.jpg
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.