Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Koszyk - problem ze zliczaniem produktow
dolar
post
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


Witajcie ponownie. Mam problem ( pewnie blachy, ale niestety ustknelam :/). Wszystko mi dziala, lecz nie potrafie zrobic aby po wcisnieciu "dodaj do koszyka" zliczalo mi liczbe produktow w nim. Czy ktos moglby mi pomoc, lub ewentualnie naprowadzic na rozwiazanie? Oto moj kod:

  1.  
  2. $produkty = array(
  3. 'kategoria' => 'bluzki',
  4. 'nazwa' => 'Lewis',
  5. 'rozmiar' => 'xl',
  6. 'cena' => 20.50
  7. ),
  8. 'kategoria' => 'spodnie',
  9. 'nazwa' => 'Lee',
  10. 'rozmiar' => 31,
  11. 'cena' => 99.50
  12. ),
  13. 'kategoria' => 'bluzki',
  14. 'nazwa' => 'Modoo',
  15. 'rozmiar' => 'l',
  16. 'cena' => 29.90
  17. ),
  18. 'kategoria' => 'spodnie',
  19. 'nazwa' => 'Wrangler',
  20. 'rozmiar' => 28,
  21. 'cena' => 100.50
  22. ),
  23. 'kategoria' => 'bluzki',
  24. 'nazwa' => 'Cropp',
  25. 'rozmiar' => 'l/xl',
  26. 'cena' => 29.50
  27. ),
  28. 'kategoria' => 'spodnie',
  29. 'nazwa' => 'BigStar',
  30. 'rozmiar' => 30,
  31. 'cena' => 89.50
  32. )
  33. );
  34.  
  35. if (array_key_exists('wybrany_produkt', $_POST)){
  36. $idProduktu=$_POST['wybrany_produkt'];
  37. $_SESSION['koszyk'][] = $produkty[$idProduktu];
  38. echo "Dodano do koszyka ".$produkty[$idProduktu]['nazwa'];
  39.  
  40. }
  41.  



  1. <head>
  2. <meta charset="UTF-8">
  3.  
  4. #produkty {
  5. width: 100%;
  6. text-align: center;
  7.  
  8.  
  9. }
  10.  
  11. #produkty th {
  12. padding: 4px;
  13. background-color: #eee;
  14. }
  15.  
  16. #produkty td {
  17. padding: 4px;
  18. }
  19.  
  20. h1 {
  21. margin-top: 100px;
  22. text-align: center;
  23. }
  24.  
  25. #obrazek {
  26. width: 150px;
  27. height: 80px;
  28. position: absolute;
  29. top:0px;
  30. right:0px;
  31.  
  32. }
  33.  
  34. </style>
  35. </head>
  36. <body>
  37.  
  38. <div id="obrazek">
  39. <a href=""><img src=""="65px" width="120px"/></a>
  40. <p>
  41.  
  42. <?php
  43. TATAJ UTKNELAM! (IMG:style_emoticons/default/biggrin.gif)
  44.  
  45. if (array_key_exists('wybrany_produkt', $_POST)) {
  46. $liczbaProduktow = 1;
  47. echo $liczbaProduktow;
  48. }
  49. ?>
  50.  
  51. </p>
  52. </div>
  53. <h1>Produkty</h1>
  54. <form method="post">
  55. <table id="produkty">
  56. <tr>
  57. <th>Kategoria</th>
  58. <th>Nazwa</th>
  59. <th>Rozmiar</th>
  60. <th>Cena</th>
  61. <th>Opcje</th>
  62. </tr>
  63. <?php
  64. foreach ($produkty as $key => $produkt) {
  65. echo "<tr>";
  66. echo "<td>" . $produkt['kategoria'] . "</td>";
  67. echo "<td>" . $produkt['nazwa'] . "</td>";
  68. echo "<td>" . $produkt['rozmiar'] . "</td>";
  69. echo "<td>" . $produkt['cena'] . "</td>";
  70. echo '<td><button type="submit" name="wybrany_produkt" value="'.$key.'">Dodaj do koszyka</button></td>';
  71. echo "</tr>";
  72. }
  73. ?>
  74. </table>
  75.  
  76. </form>
  77.  
  78.  
  79. </body>
  80. </html>


Ten post edytował dolar 7.12.2016, 11:12:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Kod PHP powinien być wewnątrz <?php ?> i oczywiście musi być przetworzony przez serwer.
Go to the top of the page
+Quote Post
dolar
post
Post #3





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


wlasnie wpadlam na pomysl czy mozna by tam wstawic :

  1.  
  2. $i=count($_SESSION['koszyk']);
  3. if ($i>0) {
  4. echo $i;
  5. }
  6.  


Ale nie wiem czy to nie jest za proste rozwiazanie...

Viking tak wiem, cos mi sie nie zapisalo, zaraz poprawie
Go to the top of the page
+Quote Post
Kishin
post
Post #4





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

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


Cytat(dolar @ 7.12.2016, 11:11:40 ) *
wlasnie wpadlam na pomysl czy mozna by tam wstawic :

  1.  
  2. $i=count($_SESSION['koszyk']);
  3. if ($i>0) {
  4. echo $i;
  5. }
  6.  


Ale nie wiem czy to nie jest za proste rozwiazanie...

Viking tak wiem, cos mi sie nie zapisalo, zaraz poprawie


po co ten if? 0 też może byc w koszyku

dodatkowo jeżeli nic nie bedzie w tablicy wywali Ci notice.
Go to the top of the page
+Quote Post
dolar
post
Post #5





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


Racja z tym if...
To jeszcze jedno pytanie:
Jak zaimplementowac taki kod z js w php?

setTimeout(function(){
document.getElementById('komunikat').style.display = 'none';
}, 20000);


Nie wiem nawet czy jest dobrze naspiany, chodzi mi o to ze po dodaniu produktu do koszyka, wyswietli sie napis :Dodano do koszyka", po czym zniknie po 20 sekundach.

  1.  
  2. if (array_key_exists('wybrany_produkt', $_POST)){
  3. $idProduktu=$_POST['wybrany_produkt'];
  4. $_SESSION['koszyk'][] = $produkty[$idProduktu];
  5. echo '<div id="komunikat">';
  6. echo "Dodano do koszyka ";
  7. echo '</div>';
  8.  
  9. }
  10.  


Go to the top of the page
+Quote Post
Kishin
post
Post #6





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

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


Cytat(dolar @ 7.12.2016, 11:44:32 ) *
Racja z tym if...
To jeszcze jedno pytanie:
Jak zaimplementowac taki kod z js w php?

setTimeout(function(){
document.getElementById('komunikat').style.display = 'none';
}, 20000);


Nie wiem nawet czy jest dobrze naspiany, chodzi mi o to ze po dodaniu produktu do koszyka, wyswietli sie napis :Dodano do koszyka", po czym zniknie po 20 sekundach.

  1.  
  2. if (array_key_exists('wybrany_produkt', $_POST)){
  3. $idProduktu=$_POST['wybrany_produkt'];
  4. $_SESSION['koszyk'][] = $produkty[$idProduktu];
  5. echo '<div id="komunikat">';
  6. echo "Dodano do koszyka ";
  7. echo '</div>';
  8.  
  9. }
  10.  



wygląda ok, testowałaś?
Go to the top of the page
+Quote Post
dolar
post
Post #7





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


Dziala dziala, tylko chcialam w tym kodzie dodac js, ale w js dopiero raczkuje i nie wiem jak ten kod zaimplementowac w php zeby dzialal.

  1. setTimeout(function(){
  2. document.getElementById('komunikat').style.display = 'none';
  3. }, 20000);


Dodanie do koszyka spowoduje pokazuje się napisu: "Dodano" i chcę żeby ten tekst znikł np. po 20 sekundach
Go to the top of the page
+Quote Post
Kishin
post
Post #8





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

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


Cytat(dolar @ 7.12.2016, 11:56:33 ) *
Dziala dziala, tylko chcialam w tym kodzie dodac js, ale w js dopiero raczkuje i nie wiem jak ten kod zaimplementowac w php zeby dzialal.

  1. setTimeout(function(){
  2. document.getElementById('komunikat').style.display = 'none';
  3. }, 20000);


Dodanie do koszyka spowoduje pokazuje się napisu: "Dodano" i chcę żeby ten tekst znikł np. po 20 sekundach


za </body> wrzuc
  1. <script>
  2. setTimeout(function(){
  3. document.getElementById('komunikat').style.display = 'none';
  4. }, 20000);
  5. </script>


Ten post edytował Kishin 7.12.2016, 12:02:34
Go to the top of the page
+Quote Post
dolar
post
Post #9





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 19.10.2016

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


Wow dziekuje za pomoc (IMG:style_emoticons/default/smile.gif)

A trapi mnie jeszcze nedna kwestia... czy daloby rade zrobic sumowanie i dodawanie do koszyka innym sposobem niz count?
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: 25.08.2025 - 03:53