<html>
<head>
<title>Kosarica</title>
<script type="text/javascript">
$(document).ready(function() {
$(".btnKupi").click(function() {
var table = $("#tabKosarica");
var id = $(this).parent().find("#izdelekId").text();
var ime = $(this).parent().find("span.sIme").text();
var cena = $(this).parent().find("span.sCena").text();
$.ajax({
type:"POST",
url:"sessionsave.php",
dataType:"json",
contentType:"application/json; charset=utf-8",
data:"{productId:"+id+"}",
success: function(data) {
// shranjevanje v session je uspelo, zdaj zapisemo se izdelek v kosarico na webu:
var row = "";
row+="<tr><td>";
row+="<input type='hidden' value='"+id+"' />";
row+=ime;
row+="</td><td>";
row+=cena;
row+="</td></tr>";
table.append(row);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// Ker je prislo do napake pri shranjevanju v session, ne zapisemo izdelka v kosarico, ampak samo javimo napako
var responseText = textStatus + " (errorThrown)";
alert(responseText);
}
});
});
});
</script>
</head>
<body>
<div id="divKosarica">
<table id="tabKosarica">
</table>
<table id="tabKosaricaSkupaj">
<tr>
<td>
Skupni znesek:
</td>
<td>
<span id="sSkupaj"></span>
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="Na blagajno" id="btnBlagajna">
</td>
</tr>
</table>
</div>
<div id="divIzdelki">
<!-- ta del bi naložil z php iz podatkovne baze, lahko pa za test statično vpišeš par izdelkov brez PHP, primer, samo odkomentiraj: -->
<!--<div id='divIzdelek1' class='izdelek'>
<input type='hidden' value='1' name='izdelekId' id='izdelekId' />
<span class='sIme'>Izdelek</span>
<span class='sOpis'>Opis izdelka</span>
<span class='sCena'>20</span> €
<input type='button' value='V kosarico' class='btnKupi' />
</div>
<div id='divIzdelek2' class='izdelek'>
<input type='hidden' value='2' name='izdelekId' id='izdelekId' />
<span class='sIme'>Izdelek 2</span>
<span class='sOpis'>Opis izdelka 2</span>
<span class='sCena'>10</span> €
<input type='button' value='V kosarico' class='btnKupi' />
</div>-->
<?php
// Koda ki naloži izdelke iz baze bi bila tukaj
// Potem pa izpis, vrstica po vrstica:
$count = 1;
while($row = mysql_fetch_array($result)) {
echo "<div id='divIzdelek".$count."' class='izdelek'>";
echo "<input type='hidden' value='".$row["id"]."' name='izdelekId' id='izdelekId' />";
echo "<span class='sIme'>".$row["ime_izdelka"]."</span>";
echo "<span class='sOpis'>".$row["opis_izdelka"]."</span>";
echo "<span class='sCena'>".$row["cena_izdelka"]."</span> €";
echo "<input type='button' value='V kosarico' class='btnKupi' />";
echo "</div>";
}
?>
</div>
</body>
</html>
PHP za shranjevanje v session pa je dokaj preprosto. Inicializiraš session, če $_SESSION['tvoja_spremenljivka'] še ne obstaja, najprej še incializiraš prazen array in vpišeš prvi ID ($_POST['id']) v ta array in potem ta array zapišeš v $_SESSION['tvoja_spremenljivka']. Ob naslednjem klicu, najprej array naložiš nazaj iz session, dodaš nov ID v ta array in array ponovno zapišeš v session.