Jump to content

Archived

This topic is now archived and is closed to further replies.

spires

any shopping cart masters? Help needed.

Recommended Posts

Hi,

I am building my first shopping cart and i'm already stuck.
I have been all over the web to find article on how to build a cart, 
Which i have found very useful, I have taken a different parts of info so i can create my own cart
customized to do what i want it to do.


I cant get it to add more than one track at any one time, or get it to update the QTY.
[url=http://www.spirestest.com/nicky/shop.php]http://www.spirestest.com/nicky/shop.php[/url]

Any help please

This code is now about 85% my own.
I'm not to sure if thats the problem, or if its [2] which there are a few lines of code
that i dont understand.


This is the main shop where you add to cart. [1]
[code]
<?php
echo "<center>";
echo "<TABLE width=\"600\" class=\"TLRB_border\" cellpadding=\"1\" cellspacing=\"0\">";
echo
"<TR bgcolor=\"#FFB876\">
<TD class=\"Title\">Track</TD>
<TD class=\"Title\">Album</TD>
<TD class=\"Title\">Price</TD>
<TD class=\"Title\">Add</TD>

</TR>\n"
;

$query = "SELECT * FROM books ORDER BY id";
$result = mysql_query($query) or die ("Query failed");

$count = mysql_num_rows($result);


for($i = 0; $i < $count; $i++) {
    $row = mysql_fetch_array($result);

    if($i % 2) {
        echo "<TR class=\"bggrey\">\n";
    } else {
        echo "<TR class=\"bgwhite\">\n";
    }
   
echo '<TD align="left">"'.$row['title'].'"</TD>
  <TD align="left">  '.$row['author'].': </TD>
  <TD align="left"> &pound;'.$row['price'].'</TD>
  <TD align="left"><a href="shop.php?action=add&id='.$row['id'].' "class="link">Add to cart</a></TD>';


    echo "</TR>\n";
}
if ($row['id']) {
echo $id;
}

echo "</TABLE>\n";
echo "</center>";
?>
[/code]


This is where the 'action=add and action=delete' is carried out. [2]
[code]
<?php

require_once('global.inc.php');
// Include functions
require_once('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'];
}
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;

}
$_SESSION['cart'] = $cart;
?>
[/code]

Function showcart:
This is displayed down the left hand side of every page. [3]
[code]
<?php

function showCart() {

$cart = $_SESSION['cart'];
if ($cart) {
$items = explode(',',$cart);
$contents = array();
// pull out every id that and value and will be seperated by a ,
foreach ($items as $item) {
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
}

echo "<center>";
echo '<TABLE width="125" class="TLRB_border" cellpadding="1" cellspacing="0" bgcolor="#FFF2DB">';
echo
'<TR bgcolor="#FFB876" class="Title">
<TD colspan="3">
Shopping Cart
</TD>
</TR>
<tr>
<TD width="10">&nbsp;</TD>
<TD class="bold" >Track</TD>
<TD class="bold" width="7">Qty</TD>
</TR>'
;

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


$sql = "SELECT * FROM books WHERE id ='$id' ";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$count = mysql_num_rows($result);

for($i = 0; $i < $count; $i++) {
echo $id;
   

echo '
<tr>
<td align="left" width="10"><br><a href="shop.php?action=delete&id='.$row['id'].'" class="link">X&nbsp;</a></td>
<td align="left"><br>'.$row['title'].' </td>
<td width="7"><br><div align="right">'.$qty.'</div></td>
</tr>';

$total += $row['price'] * $qty;
}

}


echo '

<tr>
<TD width="5">&nbsp;</TD>
<td colspan="2" align="right"><HR width="100"><span>Grand total: <strong>&pound;'.$total.'</strong></span></td>&nbsp;
</tr>';


echo '</table>';
echo "</center>";
} else {
echo '<center>
<TABLE width="125" class="TLRB_border" cellpadding="1" cellspacing="0" bgcolor="#FFF2DB">
<TR bgcolor="#FFB876" class="Title">
<td>
Shopping Cart
</td>
</tr>
<tr>
<td>

<br><div align="center"><span class="loginBox_text">You shopping cart<br> is empty.</span></div>

</td>
</tr>
</TABLE>
</center>';
}

}
?>
[/code]

Share this post


Link to post
Share on other sites
I would take a more OOP approach when dealing with a shopping cart project. Also, is this a personal project? Or are you doing this for a client? May I suggest looking into the following:

http://www.turnkeywebtools.com/products.php?p=ss-shopping-cart-software

It's relatively inexpensive...and you wouldn't have to provide support. :-P Moreso, it has shipping and payment modules included. If your client wants to use real-time credit card processing & shipping calculations (UPS, Fedex etc API's) without having to be redirected to some lame third-party page, they can. Also...written in PHP. Just a suggestion.

Share this post


Link to post
Share on other sites
Thanks,

i was going to look in to buying one. but i can imagin them taking a time to learn how to customize them.
Or is that not the case.

by the way, This is for a customer.

Share this post


Link to post
Share on other sites
[quote author=spires link=topic=101252.msg400486#msg400486 date=1153409548]
Thanks,

i was going to look in to buying one. but i can imagin them taking a time to learn how to customize them.
Or is that not the case.

by the way, This is for a customer.
[/quote]

If it's for a customer, keep in mind that at some point, he will want support. Think of the constant questions you will be dealing with. :-P In such cases, I prefer a commercial solution...simply because they provide their own support (As well as releasing new updated versions frequently). Also...when you're dealing with credit cards and money...you want them to have immediate solutions/support for possible exploits/bugs being found...with a fast turn-around.

In regards to customization...if you know PHP...and basic HTML...that shop I showed you would be easy to work with. I think they have links on their site to diferent shops. A few have been customized. I have at least 3 clients using that shop atm...and it's always nice not to have to provide the support for it. All I handle is the design end of it.

Share this post


Link to post
Share on other sites
Sounds very good.

So you know, If i buy it once, can i use it again?
or only on one site?

Share this post


Link to post
Share on other sites
Also...the reason why I went with a payed solution versus some of the open-source stuff...was because of their support. The company for that shop has phone support, livechat, and a support ticket system. Also...they include all the diferent modules (Shipping & payment gateways etc) without any additional cost. A lot of other shops charge for adding modules. Buttholes. :-P

I had used X-Cart for an older client...whatever you do...stay away from it. They suck! I had to do most of the work when it came to troubleshooting stuff since they have literally next-to-no support.

Share this post


Link to post
Share on other sites
[quote author=spires link=topic=101252.msg400506#msg400506 date=1153410342]
Sounds very good.

So you know, If i buy it once, can i use it again?
or only on one site?
[/quote]

When you pay for it, they email you a link to download the software. (Basically, the PHP files in a compressed folder). The licenses are assigned by domain so, one license per domain name. Make sure you save ALL the files and backup your database. After the first year, if your client wants to renew their support with the company, they can renew the license. It costs half of the original price I think. Not a bad deal since usually people make money off the cart anyway.

I think they have a live demo where you can mess around with the templates and stylesheet. I would look through it first if I was you.

Hope that helps!

Share this post


Link to post
Share on other sites
If you are buying this then its good but check out this one here i find the open source project which is offered in Cpanel hosting in Fantastio Section you can find shopping cart script which works very fine with every thing check it out its free....

Share this post


Link to post
Share on other sites
Well..the problem, is that he is providing it for a client of his. And giving him an open source one, that has very little (If you've ever had one of your clients try to get support for immediate issues for an open source package you'll know exactly what I mean...it's next to non-existant) support, it would not be very professional. Take it from someone who has much experience with ecommerce. Also...if he's going to be using shipping and payment gateways...you can't beat the built-in modules that are always kept up-to-date. Like I said before...for a personal project...open source is great. And I recommend it! However, when dealing with a paying client...you don't want to go open source.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.