una vez realice uno para una tarea de la escuela.. nomas realizaba la faramaya(altas, bajas y limpieza del carrito).. pero no guardaba en la base de datos...
utilizaba sesiones + arrays...
solo que si tenia los articulos almacenados en una DB...
Código:
class carrito {
var $elementos;
var $movies;
function carrito (){
$this->elementos = 0;
}
function addMovie($id){
if(!$this->movieExist($id)){
$link = coneccion();
$sql = "SELECT * FROM pelicula WHERE idPelicula='$id'";
$result = mysql_query($sql,$link) or die(mysql_error());
if (@mysql_num_rows($result) > 0){
$row = mysql_fetch_object($result);
if($row->existenciaInventario > $row->rentas){
$this->movies[$this->elementos] = $id;
$this->elementos++;
}
else{
?><script>alert('Movie se encuentra rentada o sin existencia!');</script><?
}
}
}
else{
?><script>alert('Movie ya existe en pedido!');</script><?
}
}
function printMovies(){
$cadena = "";
for($i=0; $i<$this->elementos; $i++){
$cadena.=$this->movies[$i];
if($i < ($this->elementos-1))
$cadena.=",";
}
return $cadena;
}
function printCarrito(){
if(file_exists('../images/sitio/carrito.png'))
echo "<a href='../movie/carrito.php'>($this->elementos)<img src='../images/sitio/carrito.png' border='0'></a>";
else
echo "<a href='../movie/carrito.php'>($this->elementos)<img src='images/sitio/carrito.png' border='0'></a>";
}
function movieExist($id){
if($this->elementos == 0)
return false;
$array = $this->movies;
$total=count((array_keys($array, $id)));
if($total > 0)
return true;
return false;
}
function deleteMovie($id){
$indice = -1;
for($i=0;$i<$this->elementos;$i++){
if($id == $this->movies[$i]){
for($j=$i; $j<($this->elementos-1);$j++){
$aux = $this->movies[$j];
$this->movies[$j] = $this->movies[$j+1];
$this->movies[$j+1] = $aux;
}
$this->elementos--;
break;
}
}
?><META HTTP-EQUIV="REFRESH" CONTENT="0;URL=?"><?
}
}?>