Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wypisywanie zawartości bazy w formularzu php, problem
ithat
post 9.01.2013, 13:17:35
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


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

Ten post edytował ithat 9.01.2013, 15:09:52
Go to the top of the page
+Quote Post
nospor
post 9.01.2013, 15:43:22
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ithat
post 9.01.2013, 19:52:02
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


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/

Go to the top of the page
+Quote Post
b4rt3kk
post 9.01.2013, 19:55:21
Post #4





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

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


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.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
ithat
post 10.01.2013, 08:32:42
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


dzieki wielkie dziala smile.gif
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: 12.07.2025 - 05:53