excluding certain products from delivery calculation
Hi ok, I have set up a delivery calculation page (this page is hidden from customers as its function is to perform a recordset lookup and then create a session which is then used in the ecart object.
a sample of the code is:
<?php
$rsDeliveryCost = new WA_MySQLi_RS("rsDeliveryCost",$ecartdb,1);
$rsDeliveryCost->setQuery("SELECT * FROM shippingcosts WHERE ShippingCostZone = ? AND ShippingCostWeightTo <= ? AND ShippingCostSize <= ?");
$rsDeliveryCost->bindParam("s", "".$rsShippingZone->getColumnVal("ShippingZone") ."", "-1"); //colname
$rsDeliveryCost->bindParam("s", "".$eCart->DisplayInfo("TotalWeight") ."", "-1"); //colname2
$rsDeliveryCost->bindParam("s", "".$eCart->DisplayInfo("TotalSize") ."", "-1"); //colname3
$rsDeliveryCost->execute();?>
as you can see I had created some additional properties in the ecart object so that I can use.
In my products tables I have 2 fields, the first is "ProductFreeDelivery" and the second is "ProductCollectionOnly" these store a value of either "0" or "1", So any products that have a value of "0" on either of these two table fields I want to exclude them from the shipping calculation.
I assume I have 2 different options:
Option 1 - Would be to do a recordset INNER JOIN to the above code to include my Products table and then I can filter out the two table fields in the above about recordset.
Option 2 - In the eCart Object, I would create 2 new properties in the "Columns" table which would store the two table fields as mentioned. With this I can then add two new lines to the above recordset, for example:
$rsDeliveryCost->bindParam("s", "".$eCart->DisplayInfo("ProductFreeDelivery") ."", "-1"); //colname2
$rsDeliveryCost->bindParam("s", "".$eCart->DisplayInfo("ProductCollectionOnly") ."", "-1"); //colname3
And then use that some how to check for a value that doesnt equal "1".
Are there any other ways that are more logical?
Chris