Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz Lista i TextField
Forum PHP.pl > Forum > PHP
sosenka
Witam

Mam problem i pytanie
Chcę powiązać ze sobą dwa formularze ( formularz listy i kilka formularzy TextField )
Mam tabele Pacjent a w niej Kolumny: Nazwisko, Imię, Miejscowość.
Za pomocą listy chcę wybrac wiersz tabeli a następnie, kolumny tego wybranego wiersza (nazwisko, imie, miejscowość) przypisac do osobnych formularzy TextField
Czy jest to możliwe questionmark.gif Meczę się z tym już drugi dzień i nie mogę znaleźć rozwiązania…





  1. <?php
  2.  
  3.  
  4. mysql_connect('***','***','***');
  5. mysql_select_db('Przychodnia');
  6. $query = "SELECT Nazwisko, Imie, Miejscowosc FROM Pacjent"
  7. or die('Blad zapytania');
  8. ?>
  9. <form action="sosna.php" method="GET" name="aaa">
  10. <select name="lista" onChange="this.form.submit()">
  11. <?php
  12. $wynik = mysql_query($query);
  13. while($r = mysql_fetch_assoc($wynik)) {
  14. echo "<option>".$r['Nazwisko']." ".$r['Imie']." ".$r['Miejscowosc']."</option>"; //Formularz listy
  15. }
  16. ?>
  17. </select>
  18. <?php
  19. </p><p>
  20. print ("
  21. <label>Nazwisko
  22. <input name='poletext' type='text' value=".$_GET['lista']." /> //Pobierana jest zawsze pierwsza wartosc z listy czyli " nazwisko"
  23. </label>
  24. <label>Imie
  25. <input name='poletext' type='text' value=".$_GET['lista']." /> //Co wpisac w value by pobralo z listy druga kolumne "imie"
  26. </label>
  27. <label>Miejscowosc
  28. <input name='poletext' type='text' value=".$_GET['lista']." /> //Co wpisac w value by pobralo z listy trzecia kolumne "Miejscowosc"
  29. </label>
  30. ");
  31.  
  32. echo $_GET['lista']; //tablica GET - zawiera Nazwisko, Imie, Miejscowosc- Jak to rozdzielic do pozostalych formularzy?
  33.  
  34. $q = explode(' ', $_GET['lista']); // Funkcja explode nie zdaje egzaminu gdyz istnieje
  35. // rekord "Jelenia Gora" ktora zostaje rozbita na dodatkowe
  36. // dwa indeksy w tabeli
  37.  
  38. print(" <pre>\n". print_r($q, true) ."\n</pre>
  39. <label>Nazwisko
  40. <input name='textfield' type='text' value=".$q[0]." /> //nazwisko: np Kuleczka
  41. </label>
  42. <label>Imie
  43. <input name='textfield' type='text' value=".$q[1]." /> // imie: Franek
  44. </label>
  45. <label>Miejscowosc
  46. <input name='textfield' type='text' value=".$q[2]." /> //Miejscowosc: "Jelenia
  47. </label>
  48. <input name='textfield' type='text' value=".$q[3]." /> // Góra" - blad !
  49. </label>
  50. ")
  51. ?>
  52. </form>
  53. ?>
piotrooo89
nie masz ustawionego odpowiedniego value w option. powinieneś przekazywać np id, nazwisko, imię bądź miejscowość a tak przekazujesz tylko nazwisko i nie będzie to chodzić poprawnie. ja osobiście polecam Ci abyś przekazywał id.
sosenka
Przeczytałem gdzieś w książce, że pominięcie atrybutu value powoduje i tak przepisanie do niego wszystkich wartosci z "Label listy".
To by sie zgadzało poniewaz mam w skrypcie linijke:
Kod
echo  $_GET['lista'];

Wyświetla mi wszystkie trzy wartosci, które wysyła "formularz lista" do tablicy GET czyli: nazwisko, imie oraz miejscowosc. Moge dodac do "<option>"
Kod
value=".$r['ID]'."
zrobi mi tylko tyle, że bede miał tylko kolumne ID w tablicy GET. Odwołać sie w "formularzu imput" do jednej wartosci to nie problem ale jak wybrac ta konkretna wartość np ( do "miejscowosci" ) gdy tablica GET zawiera 4 wartosci: ID,nazwisko,imie,miejscowosc??
Kod
value="$_GET['lista']"
wyswietla mi w formularzu tylko tą pierwszą wartość z 4, jak dostać się do pozostalych??
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.