Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt sklepu problem
Forum PHP.pl > Forum > PHP
nikestylex7
Witam. Piszę pewien projekt i napisałem opcje sklep. Opis: wchodzimy do sklepu wybieramy interesujący nas produkt klikamy kup produkt i teraz nie wiem jak zrobić żeby było wydajnie i bez komplikacji czyli zrobić tabele w mysql lodówka w której będę zapisywał kupione towary i wywoływał w opcji lodówka( do tego jeszcze problem z rozwiązaniem ilości towaru czyli np kupimy dwa różne towary) lub lepiej zrobić to dodając kolumny do tabeli użytkownika a później dopiero wywołać je w opcji lodówka. przedstawię na dole mój skrypt.
  1. <?php
  2. if(!isSet($_SESSION['abc'])){
  3. header("Location: index.php");
  4. }
  5. $user = $_SESSION['abc'];
  6. include "baza.php";
  7. $title = 'Sklep';
  8. include "lacznik1.php";
  9. $kupiec = mysql_fetch_assoc(mysql_query("SELECT kasa FROM user WHERE user='$user'"));
  10. if(isSet($_GET['k'])){
  11. $produkt = mysql_fetch_assoc(mysql_query("SELECT * FROM sklep WHERE id='$k'"));
  12. $user = $_SESSION['abc'];
  13. $kupiec = mysql_fetch_assoc(mysql_query("SELECT kasa FROM user WHERE user='$user'"));
  14. if($kupiec['kasa'] < $produkt['cena']){
  15. echo "Bardzo mi przykro ale nie stać Cię na ten produkt. <a href='java script:history.go(-1)'>Powrót</a>";
  16. }
  17. else{
  18. $produkt3 = $produkt['produkt'];
  19. $sytosc = $produkt['sytosc'];
  20. $energia = $produkt['energia'];
  21. $obrazek = $produkt['obrazek'];
  22. $cena = $produkt['cena'];
  23. $pozostala_kasa = $kupiec['kasa'] - $cena;
  24. mysql_query("UPDATE user SET kasa='$pozostala_kasa', produkt_p='$produkt3' , sytosc_p='$sytosc' , energia_p='$energia', obrazek_p='$obrazek' WHERE user='$user' ");
  25. echo "Dziękujemy za zaufanie i zapraszamy ponownie. <a href='java script:history.go(-1)'>Powrót</a>";
  26. }
  27. }
  28. else {
  29. echo "Witam Cię serdecznie w sieci sklepów spożywczych. <table><tr><td>Prezentowane niżej produkty ukoją twój głód. Gdy kupisz produkt to automatycznie pojawia się on w Twojej lodówce.</td></tr></table><br /><br />";
  30.  
  31.  
  32. if(isSet($_GET['page'])){
  33. if($_GET['page'] == 1){
  34. $zapytanie = mysql_query("SELECT * FROM sklep LIMIT 0,5");
  35. }
  36. else if($_GET['page'] == 2){
  37. $zapytanie = mysql_query("SELECT * FROM sklep LIMIT 5,5");
  38. }
  39. else if($_GET['page'] == 3){
  40. $zapytanie = mysql_query("SELECT * FROM sklep LIMIT 10,5");
  41. }
  42. else if($_GET['page'] == 4){
  43. $zapytanie = mysql_query("SELECT * FROM sklep LIMIT 15,5");
  44. }
  45. else {
  46. echo "<br /><br />Nie ma takiej strony";
  47. include "lacznik2.php";
  48. }
  49. ?>
  50. <table>
  51. <?php
  52. while($produkt2 = mysql_fetch_assoc($zapytanie)){
  53. if($produkt2['cena'] > 0){
  54. echo "<tr><td rowspan='7'><img src='images/sklep/" . $produkt2['obrazek'] . ".jpg' alt='' /></td><td>" . $produkt2['produkt'] . "</td></tr>
  55. <tr><td>Cena: " . $produkt2['cena'] . " zł</td></tr>
  56. <tr><td><a href='sklep.php?k=" . $produkt2['id'] . "'>Kup ten produkt</a><br /><br /></td></tr>";
  57. }
  58. }
  59. ?>
  60.  
  61. </table>
  62. <?php
  63. }
  64. echo "<a href='sklep.php?page=1'>[1]</a>";
  65. echo " | <a href='sklep.php?page=2'>[2]</a>";
  66. echo " | <a href='sklep.php?page=3'>[3]</a>";
  67. }
  68. include "lacznik2.php";
  69. ?>


Może po prostu najlepszym rozwiązaniem będzie zrobienie tabeli lodówka i w niej zapisywanie wszystkiego oczywiscie wypisanie produktów w kolumnach i jako wartość będziemy podawać ilość?
Uriziel01
To zależy od tego czy po kupieniu przedmiotu znika on ze sklepu czy też nie. Jeżeli znika to tylko dodatkowe pole w tabeli z przedmiotami określające status (aktywny/zakonczony/sprzedany/usuniety itd.) natomiast w przeciwnym wypadku musisz utworzyć właśnie tę tabelę 'lodówka' w której będziesz trzymał, ID usera który kupił, ID przedmiotu i ewentualnie jakieś ID transakcji lub datę zakupu.
nikestylex7
W sklepie jest nieograniczona ilość towaru. Zrobiłem tak że po kupieniu w tabeli lodówka dodaje się id nazwa oraz ilość danego produktu który został kupiony czyli tak : id | nazwa | kebab | pizza | hot-dog | stek | naleśniki i wtedy normalnie przypisuje na przykład jak kupię 10 kebabów to doda następująco id 20 nazwa alexis7 kebab 20 pizza 0 hot-dog 0 stek 0 naleśniki 0

Później tylko pobiore wartości pól produktów i wyświetle przy produktach ilość kupionych przedmiotów
Uriziel01
Mam nadzieje że to 'alexis7' to nie nazwa użytkownika. Jeżeli tak to fatalny pomysł, zapisuj tam ID użytkownika a nie jego username.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.