close ad
WARNING: Do Not Install the DREAMWEAVER CC 2017 or 2018 Update »
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

How to count number of unique item options in cart?

Thread began 6/03/2010 8:50 am by iain.sutherland290832 | Last modified 6/04/2010 6:44 pm by Eric Mittman | 886 views | 3 replies |

iain.sutherland290832

How to count number of unique item options in cart?

Shopping cart is working as required but I need a tweak.

I have a user modifiable text box for selecting an option in ecart. I need to be able to count these items to determine the charges to be applied, I can count the total number but but not the number of unique option values. tried code below but it only gives the count of all options, not the count of unique entries. Any suggestions as I have tried a range of ideas but could do with some inspiration?

'rider' is the unique text field. 'ur2' was an attempt to filter out duplicate rider entries with 'riders' being the final count of unique enties but the filtereing is not working and it counts duplicates as new items.

$itmObj->uniquerider = array($itmObj->rider);//t
$itmObj->ur2 = array_unique($itmObj->uniquerider);//t
$itmObj->riders = count($itmObj->ur2);//n
return $itmObj;
}

Sign in to reply to this post

Eric Mittman

This is a little custom so I will not be able to work it out entirely for you but I think you could create an array, then loop over the items in the cart, when you are looping you can check the current option to see if it unique by seeing if it is not in your newly created array. If it is not in the array then you add it to the array. In the end you should have an array that has only unique values. You can then do a count on this array. Here is a code example of what I'm talking about:

php:
$unique_riders = array();

for($e = 0; $e < sizeof($your_cart->items); $e++){
    if(!(in_array($your_cart->items[$e]->rider, $unique_riders))){
        $unique_riders[$e] = $your_cart->items[$e]->rider;
    }
}
$riders = count($unique_riders);



This is just a pseudo code example based on your post, it might have errors and need some tweaking to be able to use but I think this is the rite approach for this.

Sign in to reply to this post

iain.sutherland290832

thanks - sent me in the right direction and now sorted

After a bit of minor tweaking it worked. This was the final working code:

$uniqueriders = array();
for($e = 0; $e < sizeof($this->Items); $e++){
if(!(in_array($this->Items[$e]->rider, $uniqueriders))){
$uniqueriders[$e] = $this->Items[$e]->rider;
}
}
$riders = count($uniqueriders);

I noticed if I run the ecart interface it dissapears, but that is no hardship. Many thanks for your assistance on this custom code.

Sign in to reply to this post

Eric Mittman

Based on your updates of the cart object to this it looks like you are doing this inside of the eCart files. If you use the full cart name reference I think this same code would work on any page in your site so long as there were the include files for the cart. If you had it just on a page then you could edit the cart and have it not overwrite the code. I'm glad it worked out for you though.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...