Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [html] [mysql]
Forum PHP.pl > Forum > Przedszkole
monika777
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>";?>
JaRoPHP
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.
monika777
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;)
Cysiaczek
Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole oraz dodaj bbcode

btw. gotowcom NIE smile.gif
skowron-line
Cytat
zy zmusisz mnie do czytania:)


rece opadaja
monika777
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:)
skowron-line
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. ?>
monika777
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?
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.