Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pole Select
Salur
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Witam, jak mogę w php dodawać do bazy wartość z pola select? Chcę wartości value dodawać do bazy.

  1.  
  2. <b>Dodaj do paczki:</b>
  3. <select name="add">
  4. <option value="gold_expire">Podwójna szansa na przedmiot</option>
  5. <option value="silver_expire">+50% więcej expa</option>
  6. <option value="safebox_expire">Większy magazyn</option>
  7. <option value="autoloot_expire">3 ręka</option>
  8. <option value="fish_mind_expire">podwójna szansa na rybę</option>
  9. <option value="marriage_fast_expire">podwojone pkt. Miłości</option>
  10. <option value="money_dro_rate_expire">Podwójna szansa na zdobycie złota</option>
  11. </select><br>


Ten post edytował Salur 11.06.2015, 15:58:16
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Użyj szukajki: showtopic=233074&hl=select+do+bazy
Go to the top of the page
+Quote Post
Salur
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Dzięki, ale nie o to mi chodzi, nie chce pobierać z bazy wartości value do formularza i potem zapisywać, lecz dodać wartość value wraz z innymi inputami do bazy.

Ten post edytował Salur 11.06.2015, 16:10:44
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A co to zmienia? Zasada taka sama, użyj tylko części pobierania z formularza i zapisu do bazy...
Go to the top of the page
+Quote Post
patwoj98
post
Post #5





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Jeżeli chcesz wrzucić do bazy jakąś wartość pojedynczo to najlepiej ustaw sobie zmienną:
  1. $bonus = $_POST['add'];


i tę zmienną wrzucasz do zapytania. Ewentualnie podaj zapytanie jak coś nie tak.
Go to the top of the page
+Quote Post
Salur
post
Post #6





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Mógłbyś podpowiedzieć jak sprawdzać jaka opcja została wybrana? bo chcę dodawać tylko tę wybraną.

Ten post edytował Salur 11.06.2015, 16:26:26
Go to the top of the page
+Quote Post
patwoj98
post
Post #7





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Wybrana powinna przesłać się tak jak podałem wyżej w poście lub get'ie w zależności od preferencji .
Dodaj to kodu i zrób pod tym
  1. var_dump($bonus);
Go to the top of the page
+Quote Post
Salur
post
Post #8





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Czy mógłbyś mi pomóc na tym kodzie to zrobic? (IMG:style_emoticons/default/wink.gif)


http://wklej.org/id/1735896/


Ten post edytował Salur 11.06.2015, 16:47:31
Go to the top of the page
+Quote Post
Star
post
Post #9





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Jak wyślesz formularz, np taki
<select name="xx">
<option value="1">1</option>
<option value="2">2</option>

To odbierasz to za pomocą $_POST["xx]
Go to the top of the page
+Quote Post
patwoj98
post
Post #10





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


W miejscu, w którym odbierasz dane ustaw sobie tak jak masz wyżej ode mnie i to w ten sposób odbierzesz. Wszystko masz rozwiązane.

Jak chcesz mieć dokładniej to wstaw jak odbierasz te dane (kod).
Go to the top of the page
+Quote Post
Salur
post
Post #11





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


  1. <select name="add">
  2. <option value="gold_expire">Podwójna szansa na przedmiot</option>
  3. <option value="silver_expire">+50% więcej expa</option>
  4. <option value="safebox_expire">Większy magazyn</option>
  5. <option value="autoloot_expire">3 ręka</option>
  6. <option value="fish_mind_expire">podwójna szansa na rybę</option>
  7. <option value="marriage_fast_expire">podwojone pkt. Miłości</option>
  8. <option value="money_dro_rate_expire">Podwójna szansa na zdobycie yang</option>
  9. </select>
  10.  
  11. if (isset($_POST['dodajj'])){
  12. $name = $_POST['name'];
  13. $price = $_POST['price'];
  14. $days = $_POST['Packageon'];
  15. $opcja = $_POST['add'];
  16.  
  17. mysql_query("INSERT INTO $baza.Packages SET Name='$name', Options='$opcja', PackageON='$days', Cena='$price'");
  18. echo 'Dodano pakiet';
  19. }else {
  20. echo "nie dodano!";
  21. }
Go to the top of the page
+Quote Post
patwoj98
post
Post #12





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Jeśli zwraca Ci błąd i że nie dodano to masz błąd przy mysql_query.
Poprawnie:

Kod
mysql_query("INSERT INTO $baza.Packages (`Name`,`Options`,`PackageON`,`Cena`) VALUES ('$name','$opcja','$days','$price'")
   or die("Błąd dodawania");


Dalsze uwagi:
1. Nie używam mysql, a mysqli.
2. Trzymaj się jednego języka w bazie. Jeżeli jest polski to polski, jak angielski to angielski. Masz mixa.
3. Nazwy tabel małymi literami.
4. Nie masz pola ID? Jeśli tak to lepiej ustaw (IMG:style_emoticons/default/wink.gif)

Ten post edytował patwoj98 11.06.2015, 16:59:19
Go to the top of the page
+Quote Post
Salur
post
Post #13





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


ID mi samo tworzy, co do zapytania to dodaje do bazy lecz pole Options jest puste w bazie.
Go to the top of the page
+Quote Post
patwoj98
post
Post #14





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Pod if(isset...) daj
  1. var_dump($_POST);


i wklej tu wynik.
Go to the top of the page
+Quote Post
Salur
post
Post #15





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Może problem jest z tym że ja chcę dodać kilka opcji? może podam js do tego jaki mam.
  1. <script>
  2. function addtopackage(val) {
  3. var x = $('[name=packageval]').val();
  4. if(x.replace(val, '') != x) {
  5. alert("Ta opcja już istnieje!");
  6. } else {
  7. if(x == '') $('[name=packageval]').val(val); else {
  8. $('[name=packageval]').val(x+';'+val);
  9. }
  10. var optionval = $('[name=add] [value='+val+']').text();
  11. $('.packageinto').html(function(n,c) { return c+optionval+', '; });
  12. }
  13. }
  14. </script>
  15. ................................................................................
    .....................
  16. <form action="?s=is_pakiet" method="POST">
  17. <b>Dodaj do paczki:</b>
  18. <select name="add">
  19. <option value="gold_expire">Podwójna szansa na przedmiot</option>
  20. <option value="silver_expire">+50% więcej expa</option>
  21. <option value="safebox_expire">Większy magazyn</option>
  22. <option value="autoloot_expire">3 ręka</option>
  23. <option value="fish_mind_expire">podwójna szansa na rybę</option>
  24. <option value="marriage_fast_expire">podwojone pkt. Miłości</option>
  25. <option value="money_dro_rate_expire">Podwójna szansa na zdobycie yang</option>
  26. </select><br>
  27. <input type="button" value="Dodaj do paczki" OnClick="addtopackage($('[name=add]').val());">
  28. <br><br>
  29. Paczka jest na<br>
  30. <input type="text" name="Packageon"> dni<br>
  31. <input type="submit" name="dodajj" value="Dodaj">
  32. </form>

Go to the top of the page
+Quote Post
patwoj98
post
Post #16





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Dodaj var_dump'a
Go to the top of the page
+Quote Post
Salur
post
Post #17





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Dodałem, nie wyświetla żadnej wartości post.
Go to the top of the page
+Quote Post
patwoj98
post
Post #18





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Dobra, to w takim razie zamiast wysyłać do "?s=is_pakiet" wyślij formularz do test.php i tam spróbuj to samo.
Go to the top of the page
+Quote Post
Salur
post
Post #19





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 28.12.2014

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


Okej, wywaliło to, chyba coś nie tak z zapytaniem.

  1. array(6) { ["name"]=> string(10) "nowoczesny" ["price"]=> string(4) "3413" ["packageval"]=> string(13) "silver_expire" ["add"]=> string(13) "silver_expire" ["Packageon"]=> string(2) "13" ["dodajj"]=> string(5) "Dodaj" } Blad dodawania


Ten post edytował Salur 11.06.2015, 18:08:19
Go to the top of the page
+Quote Post

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: 28.08.2025 - 20:12