Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php + mysql] Formularz - wybór opcji z bazy MySql
-Gość_jakamaichi-
post 15.03.2006, 18:30:36
Post #1





Goście







Witajcie

Mam problem ze zrobieniem następującej rzeczy.
Otóż mam bazę MySql o nazwie TEST, a w niej dwie tabele PRACE i KLIENCI.
Dla tabeli PRACE tworzę formularz dopisujący nowe rekordy i chciałbym, aby w tym formularzu nie dopisywać klienta z palca, tylko zastosować listę rozwijaną, która pobiera nazwy klientów z tabeli KLIENCI. Jak to zrobić, szukam w necie coś takiego i nie mogę znaleźć.

pomóżcie

jakamaichi
Go to the top of the page
+Quote Post
wrzasq
post 15.03.2006, 18:56:16
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

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


ech, na pewno sie dalo znalezc, bo to raczej banalne podstawy, ale zeby sie tak nie wymadrzac, to z braku czasu sam ci podam zarys, bedzie szybciej nizbym szukal:

  1. <?php
  2.  
  3.  
  4. echo '<select name="klient">';
  5.  
  6. // caly ten kod wstawiasz juz wewnatrz formularza w miejsce gdzie ma sie pojawic s
    elect
  7. $klienci = mysql_query('SELECT poleID, poleNazwy FROM KLIENCI');
  8.  
  9. while($klient = mysql_fetch_assoc($klienci) )
  10. {
  11. echo '<option vlaue="' . $klient['poleID'] . '">' . $klient['poleNazwy'] . '</option>';
  12. }
  13.  
  14. echo '</select>';
  15.  
  16.  
  17. ?>


Ten post edytował wrzasq 15.03.2006, 18:56:56


--------------------
Go to the top of the page
+Quote Post
-Gość_jakamaichi-
post 15.03.2006, 22:15:34
Post #3





Goście







OK, dzięki
mam teraz coś takiego:


  1. <?php
  2. // wybór do pola listy z bazy danych
  3. $query="SELECT id,klienci_wybor FROM klienci ORDER BY klienci_wybor ASC";
  4.  
  5. $result = mysql_query ($query);
  6. echo "<select name=karta_klient value=''>Nazwa klienta</option>";
  7. // printing the list box select command
  8. while($nt=mysql_fetch_array($result)){//Array or records stored in $nt
  9.  echo "<option value=$nt[klienci_wybor]>$nt[klienci_wybor]</option>";
  10. /* Option values are added by looping through the array */
  11. }
  12. echo "</select>";
  13.  
  14. ?>


i to działa.
Pojawia się jednak nastepny problem. Mam również formularz do edytowania już wprowadonych danych. Ja wymusić na tej rozwijanej liście, aby był na niej w momencie edycji wybrany KLIENT (ten który jest już przypisany do modyfikowanego rekordu), a nie pierwszy według alfabetu?

Jak to będzie działać, to będę uszczęśliwiony.

pozdrawiam
jakamaichi
Go to the top of the page
+Quote Post
nospor
post 15.03.2006, 22:16:47
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://forum.php.pl/index.php?showtopic=43089

i na przyszlosc prosze uzywac znacznikow w tytulach


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Gość_jakamaichi-
post 15.03.2006, 23:06:36
Post #5





Goście







Niestety, ale z podanego przykładu nie umiem skorzystać.
Zrobiłem coś takiego, ale kicha:

echo "<option value=$nt[klienci_wybor] ($nt[klienci_wybor]=\"Renault\" ? 'selected=\"selected\"')>$nt[klienci_wybor]</option>";

dalej mam pierwszy na liście wg. alfabetu
Może mi to ktoś wytłumaczyć łopatologicznie, jak mam to zrobić.


jakamaichi
Go to the top of the page
+Quote Post
Wykrywacz
post 15.03.2006, 23:46:46
Post #6





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Cytat
echo "<option value=$nt[klienci_wybor] ($nt[klienci_wybor]=\"Renault\" ? 'selected=\"selected\"')>$nt[klienci_wybor]</option>";


Czemu robisz
Cytat
  1. <?php
  2. "selected\"
  3. ?>
a nie
  1. <?php
  2. "\selected\"
  3. ?>


Pytam bardziej z ciekawości, bo wzbudziło to moją wątpliwość.

Ten post edytował Wykrywacz 15.03.2006, 23:47:12
Go to the top of the page
+Quote Post
nospor
post 15.03.2006, 23:52:35
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




oj wykrywacz... ty jak cos palniesz.... winksmiley.jpg manual, manual i jeszcze raz manual:
http://pl.php.net/manual/pl/language.types...g.syntax.double

  1. <?php
  2.  
  3.  echo "<option value=\"{$nt['klienci_wybor']}\" ".((isset($_POST['karta_klient']) && $_POST['karta_klient']==$nt['klienci_wybor']) ? 'selected="selected"' : '').">$nt['klienci_wybor']</option>";
  4. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Gość_jakamaichi-
post 16.03.2006, 00:37:59
Post #8





Goście







przepraszam za upierdliwość, ale dalej nie działa
po skopiowaniu ostaniego kodu, dostaję błąd

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\usr\krasnal\www\darek\kk_update.php on line 79

już nie wiem, co mam jeszcze zrobić


jakamaichi
Go to the top of the page
+Quote Post
nospor
post 16.03.2006, 07:35:06
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To ja przepraszam. POdalem ci bledny kod, lekkie niedopatrzenie.
  1. <?php
  2. echo "<option value=\"{$nt['klienci_wybor']}\" ".((isset($_POST['karta_klient']) && $_POST['karta_klient']==$nt['klienci_wybor']) ? 'selected="selected"' : '').">".$nt['klienci_wybor']."</option>";
  3. ?>

Aczkolwiek, mogles sprobowac sam go rozwiązac winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-Gość_jakamaichi-
post 16.03.2006, 09:27:02
Post #10





Goście







Działa taki oto kod:

  1. <?php
  2. // wybór do pola listy z bazy danych
  3. $_POST['karta_klient']=$tablica['kk_klient'];
  4.  
  5. $query="SELECT id,klienci_wybor FROM klienci ORDER BY klienci_wybor ASC";
  6. $result = mysql_query ($query);
  7. echo "<select name=karta_klient >";
  8.  
  9. // printing the list box select command
  10.  
  11. while($nt=mysql_fetch_array($result)){//Array or records stored in $nt
  12.  
  13. echo "<option value=\"{$nt['klienci_wybor']}\" ".((isset($_POST['karta_klient']) && $_POST['karta_klient']==$nt['klienci_wybor']) ? 'selected=' : '').">".$nt['klienci_wybor']."</option>";
  14. /* Option values are added by looping through the array */
  15. }
  16. ?>


Dzięki za pomoc.
jakamaichi
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:42