Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]dodawanie do bazy danych z <select>
dave666
post 1.05.2011, 21:58:50
Post #1





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


Witam mam takie pytanie w jaki sposób zapisać dwie zmienne przy pomocy jednego option

  1. <select name="nazwa_u">
  2. <?php $usl = mysql_query('SELECT * FROM uslugi ORDER BY id_u');
  3. while($rowk = mysql_fetch_array($usl)):
  4. echo"<option value='".$rowk['nazwa_u']." ".$rowa['cena_u']."'>".$rowk['nazwa_u']."</option>";
  5. endwhile;?>
  6. </select></p>


zapisuje mi do bazy ale tylko nazwę usługi ale bez ceny

dopisywanie do bazy wygląda tak

  1. if(isset($_GET['klient']) && $_GET['klient']=='dopisza')
  2. {
  3. $pesel_ka=htmlspecialchars($_POST['pesel_ka']);
  4. $usl_ka=htmlspecialchars($_POST['nazwa_u']);
  5. $jedi_ka=htmlspecialchars($_POST['nazwa_j']);
  6. $cena_ka=htmlspecialchars($_POST['cena_u']);
  7. $data_ka=htmlspecialchars($_POST['data_ka']);
  8. $godz_ka=htmlspecialchars($_POST['godz_ka']);
  9. $minut_ka=htmlspecialchars($_POST['minut_ka']);
  10. $forma_ka=htmlspecialchars($_POST['forma_pl']);
  11.  
  12. mysql_query("INSERT INTO kartoteka VALUES(0,'$pesel_ka','$usl_ka','$jedi_ka','$cena_ka','$data_ka','$godz_ka','$minut_ka','$forma_ka')");
  13. }


za pomocą formularz dodaje z kilku rożnych tabeli do jednej jedynie mi nie działa cena nie wiem czemu kombinowałem juz na rożne sposoby przez input itp
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
JoShiMa
post 1.05.2011, 22:08:48
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


A skąd się niby ta cena ma brać? Z jakiego elementu formularza?


--------------------
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 22:11:40
Post #3





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


za pomocą select option pobieram dane z bazy nazwe i cene w jednym option po kliknięciu zapisz chce aby rozdzielało to na dwie kolumny
Go to the top of the page
+Quote Post
kadlub
post 1.05.2011, 22:15:05
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


masz $rowa['cena_u'] a nie powinno być $rowk['cena_u']questionmark.gif
Go to the top of the page
+Quote Post
ciekawskiii
post 1.05.2011, 22:16:31
Post #5





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


ta cene w formularzu Ci wyswietla?
Jak dla mnie to te zmienne dziwnie nazywasz, gdybym ja tak u siebie robil to po dwoch minutach bym sie pogubil i nie wiedzial co jest co.


--------------------
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 22:20:38
Post #6





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


tak to mój błąd ale nawet jak zmienie na
  1. <select name="nazwa_u">
  2. <?php $usl = mysql_query('SELECT * FROM uslugi ORDER BY id_u');
  3. while($rowk = mysql_fetch_array($usl)):
  4. echo"<option value='".$rowk['nazwa_u']." ".$rowk['cena_u']."'>".$rowk['nazwa_u']."</option>";
  5. endwhile;?>
  6. </select></p>


to mi nie dodaje do bazy nie mam pojęcia czemu czy option może tylko jedno zapisać

Szukałem kogoś kto napisze mi system rejestracji pacjentów banalnie prosty ale nikogo nie znalazłem dlatego sam próbuje pisać (oczywiście nie za darmo )

- cenę normalnie wyświetla bez problemu tylko nie chce jej zapisać

Ten post edytował dave666 1.05.2011, 22:24:56
Go to the top of the page
+Quote Post
kadlub
post 1.05.2011, 22:27:23
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


  1. echo'<option value="'.$rowk['nazwa_u'].' , '.$rowk['cena_u'].'">'.$rowk['nazwa_u'].'</option>';

ja bym to zrobił tak że ten kod po wysłani bym rozdzielił explode po przecinku i zapisał dopiero do bazy
Go to the top of the page
+Quote Post
ciekawskiii
post 1.05.2011, 22:28:17
Post #8





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


aaa tak jak Ty to chcesz to nie zadziala bo Ty to value rozdzielasz na dwie zmiennie, poczytaj o explode i to zrobisz


--------------------
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 22:30:27
Post #9





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


ciekawskiii masz racje bo dodaje mi do bazy ale do jednej te dwie zmienne nazwa i cena zamiast rozdzielić to na kolumny zaraz poczytam lekturę i będę kombinować
Go to the top of the page
+Quote Post
ciekawskiii
post 1.05.2011, 22:37:06
Post #10





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


masz przyklad explode
  1. $cos="nazwa cena";
  2. $rozdziel=explode(" ",$cos);
  3. echo $rozdziel[0];
  4. echo $rozdziel[1];

Teraz sobie poradzisz


--------------------
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 22:47:08
Post #11





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


cieniutko to idzie aż tak się nie znam ale nie dam za wygraną
Go to the top of the page
+Quote Post
kadlub
post 1.05.2011, 22:51:33
Post #12





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


a co tu masz do roboty dwie linijki kodu dopisać
ciekawskiii podał Ci nawet jak użyć funkcji explode
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 22:54:54
Post #13





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


Jak ktoś wie jak to zastosować to jest banalnie proste a jak ktoś siedzi i próbuje się uczyć to trochę więcej to zajmuje nie mam takiej wiedzy jak wy ale mimo wszystko próbuje szukam patrze w manulau ale opornie mi to idzie mimo to nie poddaje się i nie spoczywam na laurach jak coś mi wyjdzie tylko wciąż chce więcej umieć może kiedyś będę też tu pomagać co sprawi mi wielką radość
Go to the top of the page
+Quote Post
ciekawskiii
post 1.05.2011, 23:01:43
Post #14





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


ale to akurat nie jest skomplikowane, skopiuj sobie ten przyklad moj i zobacz co zwracaja Ci te dwie zmienne, masz praktycznie gotowe do zapisu, wystarczy w moim przykladzie, w explode zmienic $cos na $nazwa_u w tym przypadku, to explode dajesz po zadeklarowaniu zmiennej z POST ale to chyba juz wiesz, dobra to tyle bo bardziej nie da sie wytlumaczyc, kombinuj


--------------------
Go to the top of the page
+Quote Post
kadlub
post 1.05.2011, 23:03:03
Post #15





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


zamień tego option w twoim pierwszym poscie na tego
  1. echo'<option value="'.$rowk['nazwa_u'].' , '.$rowk['cena_u'].'">'.$rowk['nazwa_u'].'</option>';
  2.  

i tam gdzie odbierasz dane z formularza daj
  1. $dane=explode(',',htmlspecialchars($_POST['nazwa_u']));
  2. $usl_ka=$dane[0];
  3. $cena_ka=$dane[1];

a reszta bez zmian

Ten post edytował kadlub 1.05.2011, 23:05:07
Go to the top of the page
+Quote Post
dave666
post 1.05.2011, 23:09:03
Post #16





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

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


Dziękuję bardzo wiem ze to gotowiec ale mam przykład w jaki sposób to zastosować dokładnie się z tym zapoznam aby kolejnym razem nie pytać dziękuję wszystkim

jak ktoś tu wejdzie prosiłbym o wytłumaczenie jak to działa

  1. $dane=explode(',',htmlspecialchars($_POST['nazwa_u']));
  2. $usl_ka=$dane[0];
  3. $cena_ka=$dane[1];


nie wiem czy dobrze rozumiem po kliknięciu zapisz skrypt przesyła dane które trafiają do : $dane=explode(',',htmlspecialchars($_POST['nazwa_u']));

a tu już je rozdziela na dwa tylko pytanie w jaki sposób bo nie mogę zrozumieć

Ten post edytował dave666 1.05.2011, 23:30:07
Go to the top of the page
+Quote Post
kill15
post 2.05.2011, 00:19:01
Post #17





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


jak to w jaki questionmark.gif normalny haha.gif
każdy przecinek rozdziela a rozdzielone wyniki trafiają do tablicy
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: 31.07.2025 - 10:41