Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP]Przeliczanie po wybraniu opcji z selekta
pawel06281990
post
Post #1





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Witam,

Proszę was o pomoc bo to jest dla mnie wyższa szkoła jazdy a potrzebuje tego więc tłumacze o co mi chodzi.

Mam 3 elementy w których będzie kwota ale każda kwota jest inna i chce zrobić aby po wybraniu Kwoty się sumowały np. mam element tkanina kosztuje 50 w następnym elemencie mam wzór kosztuje 180 oraz kolor tkaniny 40 zł i chce żeby się to sumowało + vat o oczywiście zapomogą ajax'sa.

Mam nadzieje ze dobrze wytłumaczyłem o co mi chodzi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A po co za pomocą Ajaxa?
Obsługujesz kliknięcie każdego elementu, sumujesz ceny tylko z zaznaczonych i gotowe.
Go to the top of the page
+Quote Post
pawel06281990
post
Post #3





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Ajax do tego aby na dole gdzie wyświetlać ma mi ceny sumowane chce aby był taki kręcący się gif i bez przeładowywania strony.

To ja wiem ale jak zrobić to w praktyce. o to mi chodzi

bo mam taki formularz

  1. <div class="col-4">
  2. <label for="formGroupExampleInput">Example label</label>
  3. <input type="number" class="form-control" id="formGroupExampleInput" value="<?php echo $product['min'];?>" min="<?php echo $product['min'];?>" max="<?php echo $product['max'];?>" pattern="[0-9]" placeholder="" style='width:410px;'>
  4. </div>
  5. <?php
  6. if($product['pierwsza_pozycja'] =="1"){
  7. ?>
  8. <div class="col-4">
  9. <label class="mr-sm-2" for="inlineFormCustomSelect">Preference</label>
  10. <select class="form-control" id="inlineFormCustomSelect" style='width:410px;'>
  11. <option selected value="<?php echo $product['cena'];?><"><?php echo $product['opcja'];?></option>
  12. <option value="<?php echo $product['cena_1'];?>"><?php echo $product['opcja_1'];?></option>
  13. <option value="<?php echo $product['cena_2'];?>"><?php echo $product['opcja_2'];?></option>
  14. <option value="<?php echo $product['cena_3'];?>"><?php echo $product['opcja_3'];?></option>
  15. <option value="<?php echo $product['cena_4'];?>"><?php echo $product['opcja_4'];?></option>
  16. <option value="<?php echo $product['cena_5'];?>"><?php echo $product['opcja_5'];?></option>
  17. </select>
  18. </div>
  19. <?php
  20. }
  21. if($product['druga_pozycja']=="2"){
  22. ?>
  23. <div class="col-4">
  24. <label class="mr-sm-2" for="inlineFormCustomSelect">Preference</label>
  25. <select class="form-control" id="inlineFormCustomSelect" style='width:410px;'>
  26. <option selected value="<?php echo $product['cena_6'];?><"><?php echo $product['opcja_6'];?></option>
  27. <option value="<?php echo $product['cena_7'];?>"><?php echo $product['opcja_7'];?></option>
  28. <option value="<?php echo $product['cena_8'];?>"><?php echo $product['opcja_8'];?></option>
  29. <option value="<?php echo $product['cena_9'];?>"><?php echo $product['opcja_9'];?></option>
  30.  
  31. </select>
  32. </div>
  33. <?php
  34. }
  35. ?>


i mam taki skrypt to liczenia watu
  1. $netto2 =number_format($product['cena']+$settings['wysylaka'], 2, ".", "");
  2. $brutto2 = number_format($netto2*(1+$settings['vat']/100), 2, ",", "");


Ale nie wiem jak zrobić aby sumowało mi cenę aktywną z tych formularzy (IMG:style_emoticons/default/questionmark.gif)

Dokładnie to chodzi mi o taki efekt http://sklep.sferapolska.pl/product/35x9x24_1

Ten post edytował pawel06281990 23.08.2018, 11:53:33
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Cytat
Ajax do tego aby na dole gdzie wyświetlać ma mi ceny sumowane chce aby był taki kręcący się gif i bez przeładowywania strony.
Jak juz wspomniano wczesniej AJAX ci do tego niepotrzebny. Wszelkie wyliczenia mozesz zrobic od razu w js i bedzie o niebo szybsze. Ale jak tam wolisz.

Co do AJAX co podales w innym temacie:
to sie zdecyduj albo robisz submit forma, albo slesz AJAX. Nie mozesz robic dwoch rzeczy na raz
Go to the top of the page
+Quote Post
pawel06281990
post
Post #5





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Cytat(pawel06281990 @ 23.08.2018, 10:59:50 ) *
Dokładnie to chodzi mi o taki efekt http://sklep.sferapolska.pl/product/35x9x24_1


Tak jak podałem link chciałem mieć taki efekt żeby było.

I robię to i nie mogę tego zrobić
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




No a ja ci podalem odpowiedz. Zrobiles co ci napisalem?
Go to the top of the page
+Quote Post
pawel06281990
post
Post #7





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Cytat(nospor @ 24.08.2018, 16:55:56 ) *
No a ja ci podalem odpowiedz. Zrobiles co ci napisalem?


Tylko jak mam to zrobić nigdy nie robiłem w js (IMG:style_emoticons/default/questionmark.gif)

Bo nie wiem czy się da zrobić po wybraniu danego element w select a on się zapisze do bazy, bez przeładowania się strony a on będzie oznaczony w checked='checked'.

Z czołem pisać ale coś mi nie wychodzi

  1. $result = dbquery("SELECT tac.kategoria, tac.tytul, tac.tytul, tac.images, tac.cena, tac.product_id, tac.min, tac.max, tac.promocja,
  2. tac.pierwsza_pozycja, tac.druga_pozycja, tac.cena,
  3. tac.opcja, tac.cena_1, tac.opcja_1, tac.cena_2,
  4. tac.opcja_2,tac.cena_3, tac.opcja_3, tac.cena_4,
  5. tac.opcja_4, tac.cena_5, tac.opcja_5, tac.cena_6,
  6. tac.opcja_6, tac.cena_7, tac.opcja_7, tac.cena_8,
  7. tac.opcja_8, tac.cena_9, tac.opcja_9 , tac.kwota_dodatku,
  8. ta.przyrostek_categori, wt.opis_towaru, wt.cena_towaru, wt.cena_1, wt.opis_1
  9. FROM ".$db_prefix."product tac
  10. INNER JOIN ".$db_prefix."category ta ON tac.kategoria=ta.przyrostek_categori
  11. LEFT JOIN ".$db_prefix."wybrany_towar wt ON wt.wybrany_towar_id=tac.product_id
  12. WHERE kategoria='".$_GET['kategoria']."' AND product_id='".$_GET['product_id']."'");
  13. $product = dbarray($result);
  14.  
  15. if(dbrows(dbquery("SELECT wybrany_towar_id FROM ".$db_prefix."wybrany_towar WHERE wybrany_towar_id='".$product['product_id']."' limit 1" ))){
  16. $aktywne_pole="checked='checked'";
  17. }else{
  18. $aktywne_pole="";
  19. }
  20.  
  21. if ($product['opis_towaru']){
  22. $opis_towaru=$product['opis_towaru'];
  23. $opis_towaru1=$product['opcja_1'];
  24. $opis_towaru2=$product['opcja_2'];
  25. $opis_towaru3=$product['opcja_3'];
  26. $opis_towaru4=$product['opcja_4'];
  27. $cene=$product['cena'];
  28. $opis_towaru5=$product['opis_1'];
  29. $opis_towaru6=$product['opcja_6'];
  30. $opis_towaru7=$product['opcja_7'];
  31. $opis_towaru8=$product['opcja_8'];
  32. $opis_towaru9=$product['opcja_9'];
  33. $opis_towaru1= $product['opis_1'];
  34. $cena=$product['cena_towaru'];
  35. $cena1=$product['cena_1'];
  36. $netto2 =number_format($cene+$cena1+$settings['wysylaka'], 2, ".", "");
  37. $brutto2 = number_format($netto2*(1+$settings['vat']/100), 2, ",", "");
  38. }else{
  39.  
  40. $opis_towaru=$product['opcja'];
  41. $opis_towaru1=$product['opcja_1'];
  42. $opis_towaru2=$product['opcja_2'];
  43. $opis_towaru3=$product['opcja_3'];
  44. $opis_towaru4=$product['opcja_4'];
  45. $cene=$product['cena'];
  46. $opis_towaru5=$product['opcja_5'];
  47. $opis_towaru6=$product['opcja_6'];
  48. $opis_towaru7=$product['opcja_7'];
  49. $opis_towaru8=$product['opcja_8'];
  50. $opis_towaru9=$product['opcja_9'];
  51.  
  52. $cene1=$product['cena_1'];
  53. $netto2 =number_format($cene+$cene+$_POST['cena']+$_POST['cena1']+$settings['wysylaka'], 2, ".", "");
  54. $brutto2 = number_format($netto2*(1+$settings['vat']/100), 2, ",", "");
  55. }


a tu kod html

  1. <form class="autoSubmit" method='post' action="">
  2. <div class="col-4">
  3. <label for="formGroupExampleInput">Example label</label>
  4. <input name="cena1" type="hidden" class="form-control" id="sumuj" value="<?php echo $product['kwota_dodatku'];?>" placeholder="" style='width:410px;'>
  5. <input name="cena1" type="number" class="form-control" id="formGroupExampleInput sumuj" value="<?php echo $product['min'];?>" min="<?php echo $product['min'];?>" max="<?php echo $product['max'];?>" pattern="[0-9]" placeholder="" style='width:410px;'>
  6. </div>
  7.  
  8. <div class="col-4">
  9. <label class="mr-sm-2" for="inlineFormCustomSelect">Preference</label>
  10. <select id="inlineFormCustomSelect " name="cena2" class="form-control" style='width:410px;'>
  11. <option value"<?php echo $cena;?>" <?php echo $aktywne_pole;?>><?php echo $opis_towaru;?></option>
  12. <option value"<?php echo $cena;?>" <?php echo $aktywne_pole;?>><?php echo $opis_towaru1;?></option>
  13. <?php echo "<option value'".$cena."' ".$aktywne_pole." >".$opis_towaru2."</option>";?>
  14. <option value"<?php echo $cena;?>" <?php echo $aktywne_pole;?>><?php echo $opis_towaru3;?></option>
  15. <option value"<?php echo $cena;?>" <?php echo $aktywne_pole;?>><?php echo $opis_towaru4;?></option>
  16. </select>
  17. </div>
  18.  
  19.  
  20. <div class="col-4">
  21. <label class="mr-sm-2" for="inlineFormCustomSelect">Preference</label>
  22. <select id="kolejna_cena" name="cena" class="form-control" style='width:410px;'>
  23. <option value"<?php echo $cena1;?>" <?php echo $aktywne_pole;?>><?php echo $opis_towaru5;?></option>
  24. <option value"<?php echo $cena;?>"><?php echo $opis_towaru6;?></option>
  25. <?php echo "<option value'".$cena1."'>".$opis_towaru7."</option>";?>
  26. <option value"<?php echo $cena1;?>"><?php echo $opis_towaru8;?></option>
  27. <option value"<?php echo $cena1;?>"><?php echo $opis_towaru9;?></option>
  28.  
  29. </select>
  30. </div>
  31.  
  32.  
  33.  
  34. <div class="col-4">
  35. <label for="exampleFormControlTextarea2">Small textarea</label>
  36. <textarea class="form-control rounded-0" id="exampleFormControlTextarea2" rows="3" style='width:410px;'></textarea>
  37. </div>
  38.  
  39. </form>
  40. <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  41. <script type="text/javascript">
  42. $('.autoSubmit').change(function () {
  43. const el = $(this);
  44. let form;
  45.  
  46. if (el.is('form')) { form = el; }
  47. else { form = el.closest('form'); }
  48.  
  49.  
  50. $("#maska").show();
  51. $("#maska").prepend(' <img style="margin-bottom: -17px;" src="../images/ajax-loading.gif" />');
  52. form.submit();
  53. });
  54.  
  55.  
  56. </script>


Gdzie robię błąd (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował pawel06281990 24.08.2018, 16:10:55
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Cytat
Tylko jak mam to zrobić nigdy nie robiłem w js
Akurat mowilem o uwadze, ktora zrobilem na temat twojego AJAX a w ktorym to najpierw robiles submit forma a potem AJAXa... Mowie jeszcze raz: nie mozesz robic dwoch rzeczy na raz. Jak robisz ajax to submit forma masz wywalic
Go to the top of the page
+Quote Post
pawel06281990
post
Post #9





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


ok rozumiem ajax nie współpracuje z js.

To teraz podaj mi przykład jak mam zrobić abym nie miał guzika i żeby się submit wywoływał po wybraniu z selecta.(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Cytat
ok rozumiem ajax nie współpracuje z js.
No dobra, a jak do tego doszedles? Bo ja nic takiego nie napisalem przeciez. Zeby nie bylo: twoje zrozumienie jest bledne. Ajax dosc mocno wspolpracuje z js

Cytat
i żeby się submit wywoływał po wybraniu z selecta.
A po co ma ci sie submit wywolywac po wybraniu selecta?
Go to the top of the page
+Quote Post
pawel06281990
post
Post #11





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Cytat(pawel06281990 @ 23.08.2018, 10:59:50 ) *
Dokładnie to chodzi mi o taki efekt http://sklep.sferapolska.pl/product/35x9x24_1


Widziałeś te stronę a chce osiągnąć ten sam efekt bo mi jest to potrzebne sprawdź i wybierz z pola select jakąś opcje i zobacz o co mi chodzi bo wiudzię to mnie nie rozumiesz.

Pier karzesz wyrzucić teraz mówisz ze współpracuje to ja już zgłupiałem i nie wiem co mam robić (IMG:style_emoticons/default/wacko.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Ja na te stronie bylem i doskonale wiem co chcesz osiagnac.

Cytat
Pier karzesz wyrzucić
No widzisz... tak to jest jak nie czytasz co ci pisza. Ja ci nie kazalem wyrzucac ajax tylko submit forma. No ale po co czytac ze zrozumieniem, lepiej siedziec i gderac... na pewno ktos sie zlituje nad taka maruda i poda gotowca. Milego weekendu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pawel06281990
post
Post #13





Grupa: Zarejestrowani
Postów: 298
Pomógł: 0
Dołączył: 10.01.2014

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


Ja skrypt usunąłem cały i się nic nie dowiedziałem co gdzie i jak to zrobić.
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: 24.08.2025 - 01:32