25. 10. 2011. | #1 |
profesionalac
Professional
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Predlog za korpu
Malo sam razgledao neke korpe po netu koje rade na principu SESIJA pa rekoh da malo i ja nadogradim svoje znanje. Napravio sam neku tabelu sa proizvodima i dugme za dodavanje proizvoda u korpu:
Kôd:
<table border="1"> <?php $sql = "SELECT idProizvod, naziv_proizvoda, cena FROM proizvod"; $result = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_assoc($result)) { echo '<tr>'; echo '<td>'.$row['naziv_proizvoda'].'</td>'; echo '<td>'.$row['cena'].'</td>'; echo '<td><a href=\'cart.php?action=add&id='.$row['idProizvod'].'\'>Dodaj u korpu</a></td>'; echo '</tr>'; } ?> </table> <a href="cart.php">Pogledaj korpu</a> Kôd:
$product_id = $_GET['id']; $action = $_GET['action']; switch($action) { case "add": $_SESSION['cart'][$product_id]++; break; case "remove": $_SESSION['cart'][$product_id]--; if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); break; case "empty": unset($_SESSION['cart']); break; } Kôd:
Cannot increment/decrement overloaded objects nor string offsets Kôd:
$_SESSION['cart'][$product_id]++; |
25. 10. 2011. | #2 |
profesionalac
Qualified
Datum učlanjenja: 24.08.2009
Lokacija: Berlin
Poruke: 101
Hvala: 37
300 "Hvala" u 17 poruka
|
$_SESSION['cart'][$product_id] = $_SESSION['cart'][$product_id] + 1;
|
25. 10. 2011. | #3 |
profesionalac
Professional
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
E hvala, moze ovako Idem dalje da ovo pokusam do kraja izvesti.
|
26. 10. 2011. | #4 |
profesionalac
Professional
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Pokusao sam nesto da skuckam al ne ide. Evo kako sam to izveo uz pomoc jedne ideje sa neta:
Kôd:
<?php $product_id=$_GET['id']; // Ovo je linija 25 $action=$_GET['action']; $_SESSION['cart'][$product_id]=0; $total=0; switch($action) { //decide what to do case "add": $_SESSION['cart'][$product_id] = $_SESSION['cart'][$product_id] + 1; break; case "remove": $_SESSION['cart'][$product_id]=$_SESSION['cart'][$product_id] - 1 ; if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); break; case "empty": unset($_SESSION['cart']); break; } ?> <?php if($_SESSION['cart']) { //Ovo je linija 57 echo "<table border="1" padding="3" width=\40%">"; foreach($_SESSION['cart'] as $product_id => $quantity) { $sql = sprintf("SELECT naziv_proizvoda, cena FROM proizvod WHERE idProizvod = %d;", $product_id); $result = mysql_query($sql); if(mysql_num_rows($result) > 0) { list($name, $price) = mysql_fetch_row($result); $line_cost = $price * $quantity; $total = $total + $line_cost; echo "<tr>"; echo "<td align="center">$name</td>"; echo "<td align="center">$quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a></td>"; echo "<td align="center">$line_cost</td>"; echo "</tr>"; } } //ukupno echo "<tr>"; echo "<td colspan="2" align="right">Total</td>"; echo "<td align="right">$total</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan="3" align="right"><a href=\"$_SERVER[PHP_SELF]?action=empty\" onclick=\"return confirm('Da li ste sigurni?');\">Isprazni korpu</a></td>"; echo "</tr>"; echo "</table>"; ?> Kôd:
Notice: Undefined index: id on line 25 Notice: Undefined index: cart on line 57 Kôd:
<a href=\'cart.php?action=add&id='.$row['idProizvod'].'\'>Dodaj u korpu</a></td>'; |
26. 10. 2011. | #5 |
profesionalac
Qualified
Datum učlanjenja: 24.08.2009
Lokacija: Berlin
Poruke: 101
Hvala: 37
300 "Hvala" u 17 poruka
|
Kad stavis misa na link "Dodaj u korpu" koji link i parametre vidis?
|
26. 10. 2011. | #6 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
Da li zapocinjes sesiju na svakoj strani? session_start()
Deluje mi kao da uopse ne prosledjujes id kroz url. Proveri taj link. |
28. 10. 2011. | #7 |
profesionalac
Professional
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Malo sam bio odsutan pa se nisam mogao posvetiti korpi. E ovako:
- Kad predjem misom preko Dodaj proizvod vidim link sledeci (npr za proizvod id=1 - to je valjda OK): Kôd:
cart.php?action=add&id=1 |
01. 11. 2011. | #8 |
profesionalac
Professional
Datum učlanjenja: 30.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Uspeo sam da resim nekako problem i evo ovako nekako izgleda ta moja korpa. Kako bi sad mogoa da obezbedim da na klik dugmeta obezbedim da se podaci koje se nalaze u korpi upisu u neku tabelu. Recimo imam tabelu korpa (nazivproizvoda,kolicina) u koju treba da upisem ove podatke u nju na klik dugmeta. Hvala unapred
Kôd:
$product_id=$_GET['id']; $action=$_GET['action']; $total=0; switch($action) { case "add": $_SESSION['cart'][$product_id] = $_SESSION['cart'][$product_id] + 1; break; case "remove": $_SESSION['cart'][$product_id]=$_SESSION['cart'][$product_id] - 1 ; if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); break; case "empty": unset($_SESSION['cart']); break; } if($_SESSION['cart']) { echo "<table border="1" padding="3" width="40%">"; foreach($_SESSION['cart'] as $product_id => $quantity) { $sql = sprintf("SELECT naziv_proizvoda, cena FROM proizvod WHERE idProizvod = %d;", $product_id); $result = mysql_query($sql); if(mysql_num_rows($result) > 0) { list($name, $price) = mysql_fetch_row($result); $line_cost = $price * $quantity; $total = $total + $line_cost; echo "<tr>"; echo "<td align="center">$name</td>"; echo "<td align="center">$quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a></td>"; echo "<td align="center">$line_cost</td>"; echo "</tr>"; } } //Total echo "<tr>"; echo "<td colspan="2" align="right">Ukupno</td>"; echo "<td align="right">$total</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan="3" align="right"><a href=\"$_SERVER[PHP_SELF]?action=empty\" onclick=\"return confirm('Da li si siguran?');\">Isprazni korpu</a></td>"; echo "</tr>"; echo "</table>"; }else{ echo "Trenutno nema proizvoda u korpi"; } <a href="products.php">Kupuj jos</a> |
|
|