Wednesday, February 3, 2010

shopping card



1)index.php
<?php

// Include database connection

require_once('inc/conection.php');

// Include functions

require_once('inc/functions.inc.php');

// Start the session

session_start();

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>PHP Shopping Cart Demo · Bookshop</title>

<link rel="stylesheet" href="css/styles.css" />

</head>



<body>



<div id="shoppingcart">



<h1>Your Shopping Cart</h1>



<?php

echo writeShoppingCart();

?>



</div>



<div id="booklist">



<h1>Books In Our Store</h1>



<?php

$sql = 'SELECT * FROM books ORDER BY id';

$result = $db->query($sql);

$output[] = '<ul>';

while ($row = $result->fetch()) {

$output[] = '<li>"'.$row['title'].'" by '.$row['author'].': £'.$row['price'].'<br /><a href="cart.php?action=add&id='.$row['id'].'">Add to cart</a></li>';

}

$output[] = '</ul>';

echo join('',$output);

?>



</div>



</body>

</html>

2)cart.php
<?php

// Include database connection

require_once('inc/conection.php');

// Include functions

require_once('inc/functions.inc.php');

// Start the session

session_start();

// Process actions

$cart = $_SESSION['cart'];

$action = $_GET['action'];

switch ($action) {

case 'add':

if ($cart) {

$cart .= ','.$_GET['id'];

} else {

$cart = $_GET['id'];

}
echo '<script type="text/javascript">
<!--
window.location = "cart.php"
//-->
</script>
';
break;

case 'delete':

if ($cart) {

$items = explode(',',$cart);

$newcart = '';

foreach ($items as $item) {

if ($_GET['id'] != $item) {

if ($newcart != '') {

$newcart .= ','.$item;

} else {

$newcart = $item;

}

}

}

$cart = $newcart;

}

break;

case 'update':

if ($cart) {

$newcart = '';

foreach ($_POST as $key=>$value) {

if (stristr($key,'qty')) {

$id = str_replace('qty','',$key);

$items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);

$newcart = '';

foreach ($items as $item) {

if ($id != $item) {

if ($newcart != '') {

$newcart .= ','.$item;

} else {

$newcart = $item;

}

}

}

for ($i=1;$i<=$value;$i++) {

if ($newcart != '') {

$newcart .= ','.$id;

} else {

$newcart = $id;

}

}

}

}

}

$cart = $newcart;

break;

}

$_SESSION['cart'] = $cart;

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>PHP Shopping Cart Demo · Cart</title>

<link rel="stylesheet" href="css/styles.css" />

</head>



<body>



<div id="shoppingcart">



<h1>Your Shopping Cart</h1>



<?php

echo writeShoppingCart();

?>



</div>



<div id="contents">



<h1>Please check quantities...</h1>



<?php

echo showCart();

?>



<p><a href="index.php">Back to bookshop...</a></p>



</div>



</body>

</html>

3)funtion.inc.php


<?php

function writeShoppingCart() {

$cart = $_SESSION['cart'];

if (!$cart) {

return '<p>You have no items in your shopping cart</p>';

} else {

// Parse the cart session variable

$items = explode(',',$cart);

$s = (count($items) > 1) ? 's':'';

return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your shopping cart</a></p>';

}

}



function showCart() {

global $db;

$cart = $_SESSION['cart'];

if ($cart) {

$items = explode(',',$cart);

$contents = array();

foreach ($items as $item) {

$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;

}

$output[] = '<form action="cart.php?action=update" method="post" id="cart">';

$output[] = '<table>';

foreach ($contents as $id=>$qty) {

$sql = 'SELECT * FROM books WHERE id = '.$id;

$result = $db->query($sql);

$row = $result->fetch();

extract($row);

$output[] = '<tr>';

$output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>';

$output[] = '<td>'.$title.' by '.$author.'</td>';

$output[] = '<td>£'.$price.'</td>';

$output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';

$output[] = '<td>£'.($price * $qty).'</td>';

$total += $price * $qty;

$output[] = '</tr>';

}

$output[] = '</table>';

$output[] = '<p>Grand total: <strong>£'.$total.'</strong></p>';

$output[] = '<div><button type="submit">Update cart</button></div>';

$output[] = '</form>';

} else {

$output[] = '<p>You shopping cart is empty.</p>';

}

return join('',$output);

}

?>

4)connection.php

<?php

session_start();
$conn=mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("cart",$conn) or die(mysql_error());
?>





create cart.sql file and paste this code

//start

-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 07, 2010 at 08:39 PM
-- Server version: 5.0.51
-- PHP Version: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `cart`
--

-- --------------------------------------------------------

--
-- Table structure for table `books`
--

CREATE TABLE IF NOT EXISTS `books` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(30) NOT NULL,
`author` varchar(30) NOT NULL,
`price` float(10,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Dumping data for table `books`
--

INSERT INTO `books` (`id`, `title`, `author`, `price`) VALUES
(1, 'five point some one', 'Chethan Bhagth', 400.00);


//end


import to phpmyadmin

No comments:

Post a Comment