Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wypisywanie zawartości bazy w formularzu php
Forum PHP.pl > Forum > Przedszkole
ithat
Witam
Dopiero zaczynam przygode z php, w zwiazku z tym prosze o drobna wyrozumialosc wink.gif. Wiec przejdźmy do problemu, stworzyłem jakaś tam baze danych, i próbuje wyświetlać jej rekordy w formularzu php, rekordy sa wyswietlane, ale problem zaczyna sie kiedy sformułuje bardziej złożone zapytanie niz select * from xyz. Chodzi mi oto, jak zmienić kod pętli aby nie były wyświetlane puste segmenty tabeli.
Niżej zamieszczam kod oraz screeny problemu

  1. <form method="POST" action="index.php">
  2. Zapytanie: <input type="text" name="zapytanie">
  3. <input type="submit" name="submit">
  4. </form>
  5.  
  6. <?php
  7.  
  8.  
  9.  
  10.  
  11. $host = "localhost";
  12. $user = "xxx";
  13. $password = "xxx";
  14.  
  15. $link = mysql_connect($host, $user, $password);
  16. $db_selected = mysql_select_db('zestawienia');
  17. if (!$link) {
  18. die('Nie połączono : ' . mysql_error());
  19. }
  20.  
  21.  
  22. $wynik = mysql_query("$_POST[zapytanie]")
  23. or die('Błąd zapytania');
  24.  
  25. if(mysql_num_rows($wynik) > 0) {
  26.  
  27. echo "<table cellpadding=\"2\" border=1>";
  28. while($r = mysql_fetch_object($wynik)) {
  29. echo "<tr>";
  30. echo "<td>".$r->sn."</td>";
  31. echo "<td>".$r->urzadzenie."</td>";
  32. echo "<td>".$r->zamowienie."</td>";
  33. echo "<td>".$r->klient."</td>";
  34. echo "<td>".$r->data."</td>";
  35.  
  36.  
  37. echo "</tr>";
  38. }
  39. echo "</table>";
  40. }


Linki do zdjec

http://imageshack.us/photo/my-images/191/problemdb.png/


pozdrawiam
nospor
W select pobierasz tylko "sn" więc tylko to masz dostępne....
skoro chcesz wyświetlać jeszcze inne rzeczy to musisz je w select okreslic:
select sn, urzadzenie, .....

ps: przenosze
ithat
nie o to chodziło,chodzi mi o pozostale puste pola w tabeli za sn, chce sie ich pozbyc, przy wpisaniu "select * from proba" wyswietla wszytko poprawnie

zdjecie o co mi chodzi
http://imageshack.us/photo/my-images/11/problessmdb.png/

zdjecie z poleceniem select * from proba
http://imageshack.us/photo/my-images/580/problemfl.png/

b4rt3kk
Zrób tak:

  1. while($r = mysql_fetch_object($wynik)) {
  2. echo "<tr>";
  3. if (isset($r->sn)) echo "<td>".$r->sn."</td>";
  4. if (isset($r->urzadzenie)) echo "<td>".$r->urzadzenie."</td>";
  5. if (isset($r->zamowienie))echo "<td>".$r->zamowienie."</td>";
  6. if (isset($r->klient))echo "<td>".$r->klient."</td>";
  7. if (isset($r->data))echo "<td>".$r->data."</td>";
  8.  
  9.  
  10. echo "</tr>";
  11. }


opcjonalnie zamiast isset możesz sprawdzić czy wartość nie jest pusta.
ithat
dzieki wielkie dziala smile.gif
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.