Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery]Update Koszyka
pa-jong
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

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


Witam,

Od dłuższego czasu próbuje przerobić poniższy skrypt tak aby działał bez przeładowania strony..
do tej pory udało mi się zrobić dodawanie oraz usuwanie poległem niestety przy update..

czy znajdzie się ktoś kto pomoże mi rozwiązać tą kwestię ?




Formularz.
  1. <form action="admin.php?tab=koszyk&action=update" method="post" id="cart" >
  2.  
  3. (...)
  4.  
  5. <input name="qty'.$id.'" title="Enter = zapisz" class="editores" style="width:20px;" type="text" value="'.$qty.'" onkeypress="handleKeyPress(event,this.form)">



Skrypt odpowiedzialny za update..
  1. (...)
  2.  
  3. case 'update':
  4. if ($cart) {
  5. $newcart = '';
  6. foreach ($_POST as $key=>$value) {
  7. if (stristr($key,'qty')) {
  8. $id = str_replace('qty','',$key);
  9. $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
  10. $newcart = '';
  11. foreach ($items as $item) {
  12. if ($id != $item) {
  13. if ($newcart != '') {
  14. $newcart .= ','.$item;
  15. } else {
  16. $newcart = $item;
  17. }
  18. }
  19. }
  20. for ($i=1;$i<=$value;$i++) {
  21. if ($newcart != '') {
  22. $newcart .= ','.$id;
  23. } else {
  24. $newcart = $id;
  25. }
  26. }
  27. }
  28. }
  29. }
  30. $cart = $newcart;
  31. break;
  32. }
  33.  
  34.  
  35. //// zdublowany update z $_GET używany obecnie..
  36. if ($_GET['action'] == 'update') {
  37. if ($cart) {
  38. $newcart = '';
  39. foreach ($_POST as $key=>$value) {
  40. if (stristr($key,'qty')) {
  41. $id = str_replace('qty','',$key);
  42. $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
  43. $newcart = '';
  44. foreach ($items as $item) {
  45. if ($id != $item) {
  46. if ($newcart != '') {
  47. $newcart .= ','.$item;
  48. } else {
  49. $newcart = $item;
  50. }
  51. }
  52. }
  53. for ($i=1;$i<=$value;$i++) {
  54. if ($newcart != '') {
  55. $newcart .= ','.$id;
  56. } else {
  57. $newcart = $id;
  58. }
  59. }
  60. }
  61. }
  62. }
  63. $cart = $newcart;
  64. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pa-jong
post
Post #2





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

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


działać działa, tylko przy aktualizacji w przypadku kiedy mam 100+ rekordów męczące jest odświerzanie strony..
po naciśnieciu entera formularz wraca na górę i trzeba znowu leciec na doł do kolejnej pozycji... co jest conajmniej bez sensu (IMG:style_emoticons/default/wink.gif)
owszem mam możliwość edytowania kilku pozycji naraz ale nie tylko ja będę tego używał więc w założeniu ma być jak najbardziej przyjazne.
Dlatego chciałem zrobić to poprzez jquery.. i poległem

troszkę zmieniłem formularz
w tym momencie $action przesyłana jest za pomocą input hidden w związku z czym już nie muszę korzystać z zamiennika z $_GET['action']

zauważyłem też inną kwestie... o ile dobrze myślę to jeśli już uda mi się to wysłać bez przeładowania to na ekranie zostaną nie aktualne dane co de facto i tak wymusza przeładowanie strony grrr :/

Ten post edytował pa-jong 11.05.2012, 09:55:13
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 04:04