Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Koszyk w PHP dubluje wyniki powyżej 3tys rekordów
slawek19926
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 29.07.2016

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


Witam wszystkich.
Jeśli to zły dział proszę o przeniesienie do odpowiedniego.

Przechodząc do tematu problem polega na tym, że:
mam sobie taki kod - http://hastebin.com/ucopinadax.xml
Do 3 tysięcy rekordów wszystko było ok tzn można było zmienić ilość w koszyku bez żadnego problemu oraz można było usunąć produkt z koszyka.
Teraz rekordów jest 13 tysięcy i właśnie tu zaczynają się problemy:
1. przy próbie zmiany ilości jak jest więcej niż 1 produkt w koszyku dubluje mi zmieniany produkt (pierwszy zostaje z początkową ilością, a drugi jest z poprawioną)
2. nie można usunąć żadnego produktu powyżej ID 3000 jeśli jest w koszyku więcej niż 1 produkt, nawet tego zdublowanego.

Na próbę dodałem rekord o ID 1301 i odziwo ten działa poprawnie tzn można go zmieniać, usuwać

Siedzę już nad tym 4 dni i wymiękam więc proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A masz, co mi tam...
Resztę sobie sam ogarniaj, koniec dobroci (IMG:style_emoticons/default/smile.gif)
  1. <?php
  2. require_once("dbcontroller.php");
  3. $db_handle = new DBController();
  4. if(!empty($_GET["action"])) {
  5.  
  6. if(!isset($_SESSION["cart_item"])) {
  7. $_SESSION["cart_item"] = [];
  8. }
  9.  
  10. switch($_GET["action"]) {
  11. case "add":
  12. if(!empty($_POST["quantity"])) {
  13. mysql_query("SET CHARSET utf8"); // polskie znaki
  14. mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`"); // polskie znaki
  15. $productByCode = $db_handle->runQuery("SELECT * FROM cenniki WHERE reference='" . $_GET["reference"] . "' ORDER BY reference LIMIT 1");
  16.  
  17.  
  18. $quantity = (int)$_POST["quantity"];
  19. $product = $productByCode[0];
  20. $product['quantity'] = $quantity;
  21.  
  22. if(array_key_exists($product['reference'], $_SESSION["cart_item"])) {
  23. $_SESSION["cart_item"][$product['reference']]['quantity'] = $quantity;
  24. break;
  25. }
  26.  
  27. $_SESSION["cart_item"][$product['reference']] = $product;
  28. break;
  29. }
  30. break;
  31. case "remove":
  32. if(array_key_exists($_GET["reference"], $_SESSION["cart_item"])) {
  33. unset($_SESSION["cart_item"][$_GET["reference"]]);
  34. }
  35. break;
  36. case "empty":
  37. $_SESSION["cart_item"] = [];
  38. break;
  39. }
  40. }
  41. ?>


Oczywiście to może nie działać w 100% i na 100% nie jest wolne od wad...

Ten post edytował Pyton_000 2.08.2016, 10:25:52
Go to the top of the page
+Quote Post

Posty w temacie
- slawek19926   Koszyk w PHP dubluje wyniki powyżej 3tys rekordów   29.07.2016, 13:21:32
- - aras785   Cześć. Fragment do "update" wygląda tak...   29.07.2016, 13:56:24
- - slawek19926   To akurat była moja kombinacja bo normalnie działa...   29.07.2016, 13:58:07
- - maly_swd   http://www.php.net/manual/en/info.configur....max-...   31.07.2016, 19:49:37
- - slawek19926   Niestety nic to nie daje   1.08.2016, 12:31:05
- - maly_swd   A ja Ci mówię, że to to. Pokaż co masz w phpinfo?   1.08.2016, 14:07:31
- - nospor   @maly_swd zwroc uwage ze on wysyla oddzielnego for...   1.08.2016, 14:44:28
- - slawek19926   Może zrobię tak, że podam link do tego co nie dzia...   1.08.2016, 22:11:11
- - aniolekx   sprawdzales za pomoca debuggera co sie dzieje w ko...   2.08.2016, 07:20:33
- - nospor   CytatMoże zrobię tak, że podam link do tego co nie...   2.08.2016, 08:42:02
- - slawek19926   Pozmieniałem i nadal nic :/   2.08.2016, 09:36:17
- - nospor   I oczywiscie ja wiem na co pozmieniales... Tak tru...   2.08.2016, 09:54:06
- - slawek19926   Tzn zmieniłem form w html i wyrzuciłem case update...   2.08.2016, 10:02:15
- - nospor   Czyli zrobiles cale nic ale oczywiscie musiales na...   2.08.2016, 10:13:49
- - slawek19926   Co mi to da jak poprawię strukturę table poza czyt...   2.08.2016, 10:17:00
- - nospor   Czasami niepoprawna struktura html jest powodem bl...   2.08.2016, 10:19:49
- - Pyton_000   A masz, co mi tam... Resztę sobie sam ogarniaj, k...   2.08.2016, 10:25:24
- - slawek19926   Rozumiem, że mam teraz to połączyć ze swoim nieudo...   2.08.2016, 10:35:10
- - nospor   Masz zastapic caly swoj kod php z poczatku twojego...   2.08.2016, 10:36:49
- - slawek19926   Początkowo zastąpiłem, ale jest błąd 500   2.08.2016, 10:41:30
- - nospor   Nauczysz sie w koncu czy nie? Nie pisz, ze cos pop...   2.08.2016, 10:44:20
- - Pyton_000   No i Temat: Najczestsze bledy   2.08.2016, 10:48:53
- - slawek19926   Kod po zmianach   2.08.2016, 11:34:47
- - nospor   I ten kod daje ci teraz error 500?   2.08.2016, 11:40:43
- - slawek19926   Dokładnie tak   2.08.2016, 11:41:51
- - nospor   To chyba przez [] ktore nie sa obslugiwane w twoim...   2.08.2016, 12:03:13
- - slawek19926   WOW! W końcu działa jak należy Dobrze rozum...   2.08.2016, 12:15:18
- - nospor   Tak   2.08.2016, 12:18:08
- - slawek19926   No i teraz jak zwykle musiałem coś zepsuć. Jak dod...   2.08.2016, 12:22:01
- - nospor   Zauwazyles, iz poraz trzeci nie podales poprawione...   2.08.2016, 12:39:19
- - slawek19926   Poprawiony kod Form pewnie znów jest błędnie, ale ...   2.08.2016, 12:46:54
- - nospor   Po grzyba drugi raz z rzedu dajesz to: $produ...   2.08.2016, 12:53:06
- - slawek19926   Poprawiłem. Teraz nie pobiera mi rabatu :/ EDIT: ...   2.08.2016, 13:21:22
- - nospor   Ostatni raz mowie POKAZ KOD. Potem poprostu zaczne...   2.08.2016, 14:02:17
- - slawek19926   Już zrobiłem. Dopisałem [PHP] pobierz, plainte...   2.08.2016, 14:20:30
- - nospor   czyli juz dziala? Zdajesz sobie sprawe ze teraz be...   2.08.2016, 14:26:51
- - slawek19926   Każda pozycja ma rabat chociażby 0. Ten kod to by...   2.08.2016, 14:32:30


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: 27.12.2025 - 08:11