You are here:  » One merchant, many different offers and one price...

Support Forum



One merchant, many different offers and one price...

Submitted by Aslex on Mon, 2011-03-14 15:38 in

Hi David,

the title is not the best one and I need more space to define my problem. I have this page: {link saved}. And you see one merchant that offer many times the one mobile with many different contract-combinations - the price is still the same. There are too much combination at some popular mobiles and that is the problem (nobody can use it without problems - the usability su**s).

What I need?
- List only one contract-combination with a unique price like 1,00 €
- if there are more contract-combinations then I need something like a drop-down button - you click it and then you see the other 1 € combinations. Maybe a special page for every merchant?
- Every combination / product need to be in the comparison. I just want to hide someone, for a better comparison..

I hope there is a fine and simple solution for my problem.

Best regards,
Alex

Submitted by support on Mon, 2011-03-14 16:00

Hi Alex,

One option would be to GROUP BY price in products.php unless the user had clicked a "See all offers" link. In that file, look for the following code at line 12:

    $sql = "SELECT * FROM `".$config_databaseTablePrefix."products` WHERE normalised_name = '".database_safe($q)."'";

...and REPLACE that with:

    if ($_GET["all"])
    {
    $sql = "SELECT * FROM `".$config_databaseTablePrefix."products` WHERE normalised_name = '".database_safe($q)."'";
    }
    else
    {
    $sql = "SELECT DISTINCT(CONCAT(merchant,price)),* FROM `".$config_databaseTablePrefix."products` WHERE normalised_name = '".database_safe($q)."'";
    }

Then in html/prices.php, add the following code right at the end so that the link appears immediately after the price comparison table:

<p><a href='?all=1'>See All Offers</a></p>

Hope this helps, at least as start in the right direction...!

Cheers,
David.
--
PriceTapestry.com

Submitted by Aslex on Mon, 2011-03-14 18:09

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in */includes/database.php on line 27

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in */database.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at */products.php:5) in */products.php on line 83

Submitted by support on Mon, 2011-03-14 18:21

Hi Alex,

Sorry about that - in place of:

    $sql = "SELECT DISTINCT(CONCAT(merchant,price)),* FROM `".$config_databaseTablePrefix."products` WHERE normalised_name = '".database_safe($q)."'";

...use just:

    $sql = "SELECT * FROM `".$config_databaseTablePrefix."products` WHERE normalised_name = '".database_safe($q)."' GROUP BY merchant";

Cheers,
David.
--
PriceTapestry.com

Submitted by Aslex on Mon, 2011-03-14 19:30

Ok this works not 100% ... there are many contracts with the price "1,00 €" and there not appear...

But I think this is the wrong way. Let's try this: First list all contracts and above the comparison table is a price filter with 1-50 Euro, 50-100 Euro, 100-300 Euro and 300-500 Euro. And a second filter for merchants would be nice. This could improve the usability and make my visitors happy ;-)

Could you help me to make this product filter (on the product site) real?

Submitted by support on Mon, 2011-03-14 20:20

Hello Alex,

Sure - so that I can refresh myself with your current set-up, could you
email me your latest:

includes/admin.php
html/prices.php
products.php

...and I'll take a look!

Cheers,
David.
--
PriceTapestry.com