Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [html] [mysql], jak pobrać dane z bazy i umieścić w <option> ?
monika777
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.09.2007

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


hej..

jestem początkująca wiec proszę o wyrozumialość smile.gif
problem jest taki:
mam 8 znaczników select do ktorych chce zaladowac (do option) wartosc bazy danych kazdej kolumny (z 8 sztuk). Dodatkowo chce by te dane w znacznikach option byly posegregowane rosnąco/alfabetycznie i zeby się nie powielaly. Przykładowo w bazie id_agenta ma wartości 230 220 230 240 to chcialabym by w option byly tylko 3 wartosci, bo po co maja sie powielac. Ktos z tej listy wyboru będzie korzystać wiec fajnie jakby to mialo rece i nogi. Z zapełneniem pierwszego option sobie jakos poradzilam (nie do konca, bo laduje sie wszystko) ale kolejne jak dodam to optiony sa puste albo zamiast danych pojawia sie "array"...pomozcie prosze
ten drugi select juz nie dziala:(

tabela ma pola id_menager, id_agent, nr_polisy itd..





  1. <?php
  2. mysql_connect ("localhost","root","krasnal") or die ("Nie ma mysql");
  3. mysql_select_db ("cwicz") or die (mysql_error());
  4. $sql = "SELECT * FROM polisy_z WHERE (id_menager='$_POST[id_menager]')";
  5. $sql_results = mysql_query ($sql) or die (mysql_error());
  6.  
  7. echo "<select>";
  8. while ($row = mysql_fetch_array($sql_results)) {
  9. $id_agent = $row["id_agent"];
  10. echo "<option value=\"$id_agent\">$id_agent</option>";
  11. }
  12. echo "</select>";
  13.  
  14. echo "<select>";
  15. while ($row = mysql_fetch_array($sql_results)) {
  16. $nr_polisy = $row["nr_polisy"];
  17. echo "<option value=\"$nr_polisy\">$nr_polisy</option>";
  18. }
  19. echo "</select>";?>


Ten post edytował monika777 26.09.2007, 15:30:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


W zapytaniach SQL jest słowo kluczowe DISTINCT - zapoznaj się z działaniem smile.gif (powoduje, że duplikaty wierszy nie są wybierane).
Aby sortować dane użyj klauzuli ORDER BY.

Jak już raz skrypt "przeszedł" się po wynikach zapytania i chcesz, aby szedł raz jeszcze, muszisz przesunąć wkaźnik tablicy. Uzyj funkcji: mysql_data_seek" title="Zobacz w manualu PHP" target="_manual.


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
monika777
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.09.2007

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


ok, dzieki

mozesz mi to bardziej rozszerzyc na moim przykladzie, czy zmusisz mnie do czytania:)?tzn tak czy siak przeczytam, ale na chwile obecna potrzebuje gotowca;)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole oraz dodaj bbcode

btw. gotowcom NIE smile.gif


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat
zy zmusisz mnie do czytania:)


rece opadaja


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
monika777
post
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.09.2007

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


dobra geniusze to lecimy dalej...

DISTINCT - dwa wiersze traktuje sie jako rowne jesli wszystkie wartosci dla kazdej z kolumn zwracanych rozkazem SELECT sa sobie rowne!

a ja mam np tabele

id_menager || id_agent || nr_polisy itd.
100 || 230 || 222
100 ||231 || 456

to wtedy juz DISTINCT nie zadziala bo id_menager sa rowne ale reszta nie.. zrobilam tak:

  1. <?php
  2. $sql = "SELECT DISTINCT `id_agent` FROM polisy_z WHERE (id_menager='$_POST[id_menager]') ORDER BY `id_agent`";
  3. $sql_results = mysql_query ($sql) or die (mysql_error());
  4.  
  5. echo "<select>";
  6. while ($row = mysql_fetch_array($sql_results)) {
  7. $id_agent = $row["id_agent"];
  8. echo "<option value=\"$id_agent\">$id_agent</option>";
  9. }
  10. echo "</select>";
  11.  
  12.  
  13. $sql = "SELECT DISTINCT `nr_polisy` FROM polisy_z WHERE (id_menager='$_POST[id_menager]') ORDER BY `nr_polisy`";
  14. $sql_results = mysql_query ($sql) or die (mysql_error());
  15.  
  16. echo "<select>";
  17. while ($row = mysql_fetch_array($sql_results)) {
  18. $nr_polisy = $row["nr_polisy"];
  19. echo "<option value=\"$nr_polisy\">$nr_polisy</option>";
  20. }
  21. echo "</select>";
  22. ?>


poszlo ladnie, posegregowane i wyswietlaja sie tylko rozne rekordy to jest łopatologia..da sie to prosciej prawda??
HELP do kolegi jeszcze raz:)

Ten post edytował monika777 26.09.2007, 16:33:50
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


prosciej??
Kod
$id_agent = $row["id_agent"];
echo "<option value=\"$id_agent\">$id_agent</option>";


moze tak
  1. <?php
  2. echo "<option value=\"$row[id_agent]\">$row[id_agent]</option>";
  3. ?>


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
monika777
post
Post #8





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.09.2007

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


dzieki..

prosciej w sensie, zeby nie pisac tylu zapytan do bazy, tylu selectow
  1. <?php
  2. $sql = "SELECT DISTINCT `nr_polisy` FROM polisy_z WHERE (id_menager='$_POST[id_menager]') ORDER BY `nr_polisy`";
  3.  
  4. $sql = "SELECT DISTINCT `nr_agent` FROM polisy_z WHERE (id_menager='$_POST[id_menager]') ORDER BY `nr_agent`";
  5.  
  6. $sql = "SELECT DISTINCT `nr_menager` FROM polisy_z WHERE (id_menager='$_POST[id_menager]') ORDER BY `nr_menager`";
  7. ?>


jakos inaczej sie da?
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 Aktualny czas: 21.08.2025 - 20:15