Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zrobic proste wybieranie
Forum PHP.pl > Forum > Przedszkole
Gość_Luki
Witam smile.gif
Prosba pewnie wiekszosi wyda sie smieszna,ale jestem poczatujacym programistą i mam taki problem:
mam baze danych MySQL, i chcialbym za pomoca php wyciagnac z niej dane, ale tak zeby je umiescic w jakies liscie roziwjalnej, cos jak <select> w html. Przykladowo mam w bazie 10 osob, i chcialbym zeby ich imiona i nazwiska znalazly sie na tej liscie roziwjalnej. Tak zebym potem wykonywal jakies inne operacje na tej jednej konkretnej osobie, ktora sobie wybieram z listy. Da sie takie cos zrobic? Dzieki wielkie za pomoc smile.gif
dr_bonzo
Da sie.
.
.
.
Opisz co juz masz, jak wyglada struktura bazy, i z czym konkretnie sobie nie radzisz.
Gość_Luki
Tabela pracownik,
  1. CREATE TABLE pracownik
  2. ( id_pracownika smallint(4) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. nazwisko varchar(30) NOT NULL,
  4. imie varchar(30) NOT NULL,
  5. stanowisko varchar(30) NOT NULL,
  6. );

Jak na razie potrafie tylko wyswietlic dane z tabeli :
  1. <?php
  2. @ $db = mysql_pconnect('localhost', 'user', 'haslo');
  3.  
  4. if (!$db)
  5. {
  6.  echo 'Blad: : Polaczenie z baza danych nie powiodlo się. Spróbuj jeszcze raz pózniej.';
  7.  exit;
  8. }
  9.  
  10. mysql_select_db('pracownicy');
  11. $zapytanie = &#092;"select * from pracownik;\";
  12. $wynik = mysql_query($zapytanie);
  13. $ile = mysql_num_rows($wynik);
  14.  
  15. for ($i=0;$i<$ile;$i++)
  16. {
  17. $tab = mysql_fetch_array($wynik);
  18. echo ' nr '.($i+1).' ';
  19. echo stripslashes($tab['nazwisko']).' ';
  20. echo stripslashes($tab['imie']).'<br />';
  21. }
  22. ?>

Nie wiem jak zrobic, odpowiednik <option> w select, kurde nie umie tego wyrazic.
Jak mamy np.

  1. <select name="xxx"><option value="yyy">yyy </select>

to chcialbym zeby zamiast yyy pojawily sie dane z tabeli pracownik, tak ze po wyborze powiedzmy kowalskiego bede mogl cos z nim robic, np wygeneruje liste plac dla niego z innych tabel czy cosik smile.gif

Dzieki za odzew Dr_bonzo
eS...
  1. <?php
  2.  
  3. @ $db = mysql_pconnect('localhost', 'user', 'haslo');
  4.  
  5. if (!$db)
  6. {
  7.  echo 'Blad: : Polaczenie z baza danych nie powiodlo się. Spróbuj jeszcze raz pózniej.';
  8.  exit;
  9. }
  10.  
  11. mysql_select_db('pracownicy');
  12. $zapytanie = &#092;"select * from pracownik;\";
  13. $wynik = mysql_query($zapytanie);
  14. $ile = mysql_num_rows($wynik);
  15.  
  16. for ($i=0;$i<$ile;$i++)
  17. {
  18. $tab = mysql_fetch_array($wynik);
  19. echo ' nr '.($i+1).' ';
  20. echo stripslashes($tab['nazwisko']).' ';
  21. echo &#092;"<select name=...><option value=\".$tab['nazwisko'].\">\".$tab['imie'].\"</select><br />\";
  22.  
  23.  
  24. ?>

Jest późno ale chyba chodzi Ci o to? Teraz w polu option masz pracownika
szopenek123
no kurcze nie do konca o to, bo ten skrypt tworzy tyle list wybierlanych ile jest wierszy w tabeli w bazie danych. I w kazdej jest do wyboru tylko jedna opcja,czyli dany wiersz z bazy.
A mi chodzilo o to, zeby byla jedna lista wybieralna z wszystkimi wierszami jako opcjami. dzieki za odzew i mam nadzieje ze pomozecie smile.gif

P.s: gosc_luki to ja, dopiero co sie zarejestrowalem smile.gif
ennics
  1. <?php
  2.  
  3. // ....
  4. $wynik = mysql_query($zapytanie);
  5.  
  6. //$ile = mysql_num_rows($wynik);
  7. // for ($i=0;$i<$ile;$i++) // nie lepiej while questionmark.gif?
  8. //...
  9. echo &#092;"<select name=...>\";
  10. while ( $result = mysql_fetch_array($wynik) )
  11. {
  12. echo &#092;"<option value=\".$result ['nazwisko'].\">\".$result ['imie'].\"\";
  13. }
  14. echo &#092;"</select><br />\";
  15. // ...
  16.  
  17. ?>

mniej więcej coś takiego, tagi <select> nalezy umieśicć poza pętlą,
w pętli mają się tylko znaleźć tagi <option value=
szopenek123
woow, dziala, dzieki wszystkim za pomoc smile.gif
Pozdrawiam
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.