tworzę sobie zupełnie dla treningu koszyk zakupów. Mam już dodawanie i edycję ilości. Pojawiły się dwa problemy. Jeden estetyczny drugi nie.
Mam sobie plik addToCart.php w którym wyświetlam koszyk. Ma on postać takiego linku
http://127.0.0.1/myShop/addToCart.php?id=1&productId=3
gdzie id to id kategorii a produktId wiadomo. plik ten ma postać
<?php include('connect.php'); include('functions.php'); { $checkExistance = findValue($_GET['productId'], $_SESSION['koszyk']); } if( $checkExistance == 1 ) { $_SESSION['id']++; } { print '<table border="1"> <tr> <th>ID</th> <th>NAME</th> <th>PRICE</th> <th>VOLUME</th> <th>ILE</th> <th>edit</th> </tr>'; $iter = -1; foreach($_SESSION['koszyk'] as $product) { $iter++; $id = $product['id']; $sql = "SELECT product_id, product_name, product_price, product_volume FROM products WHERE product_id = " . $id; { } } //print var_dump($_SESSION); ?> <script type="text/javascript"> function showEditForm(address) { okno = window.open(address, "okno", "toolbar=no, location=no, status=no, menubar=no, width=210, height=150, scrollbars=no, resizable=no, left=450, top=200"); } </script>
teraz muszę wkleić jeszcze pliki dwa służące edycji (krótkie są)
editForm.php
session_start(); print_r($_SESSION['koszyk']); print '<br>'; print 'ile: ' . $_SESSION['koszyk'][$_GET['id']]['ile']; print '<br>'; ?> <select name="increaseVolume"> <option value="0">0</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="4">5</option> <option value="4">6</option> </select> <input type="submit" value="Zmien" /> </form>
oraz sama akcja edit.php
<?php //if( $_POST['increaseVolume'] == 0 ) //{ //unset session // unset( $_SESSION['koszyk'][$_GET['id']] ); //}else { $_SESSION['koszyk'][$_GET['id']]['ile'] = $_POST['increaseVolume']; // } ?>
o i teraz tak. Jeden estetyczny bląd bo gdy zmienie liczbe sztuk to oczywiście zmienia ale wypisuje, że towar jest już w koszyku. I dobrze bo tak jest zakodowane i nie wiem jak to poprawić. Jest coś co namierza skąd pochodzą zmiany? wtedy by sie zrobiło że gdy z pliku edit to coś tam coś tam.
Drugi problem to usuwanie z koszyka. Linie w edit są zakomentowane bo to usuwanie jakoś nie kosi. Gdy ilość updejtowana = 0 wtedy unset session.
Nie wiem czy to, że źle działa nie jest spowodowane wyświetlaniem koszyka? nawet wtedy źle updejtuje ilość gdy <> 0. Np. jak dodam jeden towar do koszyka i chce go usunąć to nie usuwa. gdy dodam drugi to moge usunąć który kolwiek, jednak ten co zostanie nie mogę nadać mu innej ilosci. Zwariuje.
sorry za długiego posta.
pozdro