Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]przekazanie zamiennej do listy rozwijanej
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Mam skrypt który pobiera dane i przekazuje je do pliku gdzie jedna ze zmiennych ma być polem selected w liście rozwijanej. Siedzę na tym jakiś czas i kombinuje, ale coś nie chce mi wyjść. Czy może ktoś doświadczony rzucić na to okiem gdzie jest błąd:
Pytanie na podstawie przesłanego id z innego pliku
  1. <?php
  2. $file="edycja.php";
  3. include('cookie.php');
  4. include('connect2.php');
  5. $id = $_GET['id'];
  6. $sql3 = 'select id, id_lek, bad_usg, nazwisko, imie, rok_ur, opis, termin,nazwisko_imie,now from usg_opis join usg using (id_usg)
  7. join lekarze using (id_lek) where id='.$id;
  8. $rez3= mysqli_query($mysqli, $sql3);
  9. while ($rekord = mysqli_fetch_array($rez3, MYSQLI_ASSOC)) {
  10. $mid=$rekord['id_usg'];
  11. $nazwisko = $rekord['nazwisko'];
  12. $imie = $rekord['imie'];
  13. $rok_ur = $rekord['rok_ur'];
  14. $bad=$rekord['bad_usg'];
  15. $opis = $rekord['opis'];
  16. $termin = $rekord['termin'];
  17. $lekarz = $rekord['nazwisko_imie'];
  18. $now=$rekord['now'];
  19. }

Przekazanie zmiennych do formularza o stałych polach:
  1. echo "<form method=\"POST\" form action=\"".$file."\">";
  2. echo "<INPUT TYPE=\"hidden\" NAME=\"id\" VALUE=\"'.$id.'\">";
  3. echo "<table><tr><td>Nazwisko:</td>
  4. <td><input type=\"text\" name=\"nazwisko\" VALUE=\"$nazwisko\"size=\"30\" maxlength=\"30\"></input></td></tr>
  5. <tr><td>Imie:</td>
  6. <td><input type=\"text\" name=\"imie\" VALUE=\"$imie\" size=\"30\" maxlength=\"30\"></input></td></tr>
  7. <TR><TD>Rok Urodzenia:</TD><TD><INPUT TYPE=\"text\"
  8. NAME=\"rok_ur\" VALUE=\"$rok_ur\"MAXLENGTH=\"20\"></TD></TR>
  9. <tr><td>Badanie:</td><td>";

I do tego momentu wszystko działa.
Dalej jest już tylko gorzej. Mam zmienną którą chcę przekazać do listy rozwijanej.
  1.  
  2. echo "<select name=\"bad\">";
  3. $sql2= "select id_usg, bad_usg from usg order by 2";
  4. $rez2= mysqli_query($mysqli, $sql2);
  5. while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC))
  6. {
  7. $mid = intval($nowaTab['id_usg']);
  8. $badanie=$nowaTab['bad_usg'];
  9. echo"<option value=\"".$mid."\">".$badanie."</option>";
  10. echo"<option selected = \"selected\">".$bad."</option>";
  11. }
  12. echo "</select></tr>";

I nie bardzo wiem jak mogę "wymusić" żeby formularz pokazywał tą konkretną zmienną w polu wybranym jako domyślne. W momencie kiedy już zaznacza powiedzmy pole1 to niestety pole 1 znajduje się dokładnie w miejscu na końcu listy oraz poza tym, ze jest na końcu listy to znajduje się jako nieoznaczone pole w samej rozwijanej liście. W niektórych przypadkach pole11 jest powtarzane co każdy element listy rozwijanej. Wygląda to w ten sposób pole1 pole2 pole1 pole 3 itd... Nie bardzo wiem jak to można dalej ugryźć. Poproszę o pomoc.
Z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smietek
post
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Skoro zmienna jest poza pętlą, to po co dodajesz pole domyślne do pętli? Kto Ci to kazał zrobić?
Jak sama nazwa wskazuje, pętla wykonuje się kilka razy, więc po co masz dodawać pole domyślne kilka razy do tej samej listy?
Czy ty w ogóle wiesz co robisz?

BTW: dlaczego się dziwisz, że w 2 pierwszych przykładach nie pokazuje Ci listy, jak nie zamknąłeś znacznika select?

Ten post edytował smietek 18.07.2010, 15:56:37
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 11:35