Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][PostgreSQL]Lista z opcjami pobieranymi z postgresql, rozwijana lista z opcjami pobieranymi z postgresql
mik1982
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.10.2008

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


Szukałem w google odpowiedzi na swoje pytanie i albo nie wiem jak mogę nazwać to zagadnienie albo nie ma tam żadnej odpowiedzi. Mianowicie chciałbym zamieścić formularz z listą do wyboru ale te pozycje chcę by były pobierane z bazy danych. Kilka podpowiedzi w tym temacie znalazłem, ale nie do końca działa. Lista do wyboru się pokazuje ale niestety jest pusta tzn. wyświetla się tam 5x Arrey ( tyle jest rekordów w tabeli, ale nijak nie mogę zmusić by wyświetlał nazwy tych pozycji.

Poniżej zamieszczę kawałek swojego kodu. Może znajdzie się ktoś kto mi pomoże to rozwiązać ten problem. Będę ogromnie wdzięczny.

Kod
   <select name="stanowisko">
  <?php
include "inc/nag_01.php";
include "inc/con.php";

$stano = pg_query("SELECT STA.nazwa from STA;") or die('Błąd w zapytaniu');
             $num = pg_numrows($stano);
               for ($i=0; $i<$num; $i++) {
                  $wiersz  = pg_fetch_row($stano);
                  echo "<option value=\"$wiersz[0]\">";
                  print "$wiersz";
                  echo "</option>";
               }
  ?>
    </select>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
InosU31
post
Post #2





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


a nie lepiej zamiast for uzyc foreach (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) wyswieli ci wszystkie rekordy ;-)

cos takiego :
  1. <select name="stanowisko">
  2.  <?php
  3. include "inc/nag_01.php";
  4. include "inc/con.php";
  5.  
  6. $stano = pg_query("SELECT STA.nazwa from STA;") or die('Błąd w zapytaniu');
  7.             foreach ($stano as $key => $value)
  8.             }
  9.                  echo "<option value=".$value['nazwa_kolumny'].">";
  10.                  print $value['nazwa_kolumny'];
  11.                  echo "</option>";
  12.               }
  13.  ?>
  14.    </select>


Pozdrawiam

Ten post edytował InosU31 19.07.2009, 21:45:08
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To nie PDO. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Zobacz, co pg_query" title="Zobacz w manualu PHP" target="_manual zwraca, potem pisz.

  1. <?php
  2. $stano = pg_query("SELECT STA.nazwa from STA;") or die('Błąd w zapytaniu');
  3.             $num = pg_numrows($stano);
  4.               for ($i=0; $i<$num; $i++)
  5. ?>

Najgorszy sposób - po co liczysz, ile rekordów w bazie? Masz w manualu najlepszy przykład: pg_query" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
mik1982
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.10.2008

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


Poczytałem trochę i zrobiłem tak jak poniżej.
Grunt, że działa. Dzięki za wszelkie porady.

Kod
Stanowiska:    <select name="stanowiska">
  <?php
include "inc/nag_01.php";
include "inc/con.php";

$wynik = pg_query("SELECT STA.id_sta, STA.nazwa from STA ORDER BY STA.nazwa") or die('Błąd w zapytaniu');
             $num = pg_numrows($wynik);
               for ($i=0; $i<$num; $i++) {
                  $wiersz  = pg_fetch_row($wynik);
                  echo "<option value=\"$wiersz[0]\">$wiersz[1]</option>";
//          print "$wiersz[1]";
//          echo "</option>";
               }
  ?>
</select>
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dalej się uparłeś na wersję z for" title="Zobacz w manualu PHP" target="_manual...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 14:11