close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

1 record set 3 possibilities

Thread began 10/31/2018 9:01 am by Jamie | Last modified 10/31/2018 11:02 am by Ray Borduin | 365 views | 1 replies |

Jamie

1 record set 3 possibilities

Hey Ray

On the site that you helped me with yesterday, the shop_category_results_s.php is being used to return product details using

<?php
$maxRows_Categories = 24;
$Categories = new WA_MySQLi_RS("Categories",$DBConnection,$maxRows_Categories);
$Categories->setQuery("SELECT productcategories.*, products.*, productmanufacturers.* FROM products LEFT OUTER JOIN productcategories ON products.ProductCategoryID = productcategories.CategoryID LEFT OUTER JOIN productmanufacturers ON products.ProductManufacturerID = productmanufacturers.ManufacturerID WHERE productcategories.Live = 1 AND productmanufacturers.Live = 1 AND productcategories.CatPermalink = ? AND products.ProductLive = 1 ORDER BY products.ProductOrder ASC");
$Categories->bindParam("s", "".$_GET["perm"] ."", "-1"); //permparam
$Categories->execute();

$Categories_Total = $Categories->TotalRows;
$Req_Pages = ceil($Categories_Total/$maxRows_Categories);
?>



Using the same page, have set up 2 new categories in the navigation 'new items' and 'clearance'

So when you go through to the new items page the RS needs to filter by new items that are based on column products.ProductDate and -30 (the CategoryID for the new items page is 17)

When you go through to the clearance page, it needs to be filtered instead by products.Clearance = 1 (the CtaegoryID for clearance is 18)

a) am not sure if these 3 can be done in one recordset
b) if multiple recordsets are needed not sure how to structure the select to accommodate the new items and clearnace
c) tried doing it and using if/else to show one rs rather than the other but just wasnt getting it right

Thanks

Jamie

Sign in to reply to this post

Ray BorduinWebAssist

An IF/ELSE approach is probably the cleanest. I'd have to see the pages and understand how to identify which results to show to be precise. It would probably look something like:

<?php
if (isset($_GET["new"])) {
?>
<?php
$maxRows_Categories = 24;
$Categories = new WA_MySQLi_RS("Categories",$DBConnection,$maxRows_Categories);
$Categories->setQuery("SELECT productcategories.*, products.*, productmanufacturers.* FROM products LEFT OUTER JOIN productcategories ON products.ProductCategoryID = productcategories.CategoryID LEFT OUTER JOIN productmanufacturers ON products.ProductManufacturerID = productmanufacturers.ManufacturerID WHERE productcategories.Live = 1 AND productmanufacturers.Live = 1 AND productcategories.CatPermalink = ? AND products.ProductLive = 1 ORDER BY products.ProductOrder ASC");
$Categories->bindParam("s", "".$_GET["perm"] ."", "-1"); //permparam
$Categories->execute();
?>
<?php
} else if (isset($_GET["clearance"])) {
?>
<?php
$maxRows_Categories = 24;
$Categories = new WA_MySQLi_RS("Categories",$DBConnection,$maxRows_Categories);
$Categories->setQuery("SELECT productcategories.*, products.*, productmanufacturers.* FROM products LEFT OUTER JOIN productcategories ON products.ProductCategoryID = productcategories.CategoryID LEFT OUTER JOIN productmanufacturers ON products.ProductManufacturerID = productmanufacturers.ManufacturerID WHERE productcategories.Live = 1 AND productmanufacturers.Live = 1 AND productcategories.CatPermalink = ? AND products.ProductLive = 1 ORDER BY products.ProductOrder ASC");
$Categories->bindParam("s", "".$_GET["perm"] ."", "-1"); //permparam
$Categories->execute();
?>
<?php
} else {
?>
<?php
$maxRows_Categories = 24;
$Categories = new WA_MySQLi_RS("Categories",$DBConnection,$maxRows_Categories);
$Categories->setQuery("SELECT productcategories.*, products.*, productmanufacturers.* FROM products LEFT OUTER JOIN productcategories ON products.ProductCategoryID = productcategories.CategoryID LEFT OUTER JOIN productmanufacturers ON products.ProductManufacturerID = productmanufacturers.ManufacturerID WHERE productcategories.Live = 1 AND productmanufacturers.Live = 1 AND productcategories.CatPermalink = ? AND products.ProductLive = 1 ORDER BY products.ProductOrder ASC");
$Categories->bindParam("s", "".$_GET["perm"] ."", "-1"); //permparam
$Categories->execute();
?>
<?php
}
?>
<?php
$Categories_Total = $Categories->TotalRows;
$Req_Pages = ceil($Categories_Total/$maxRows_Categories);
?>



I didn't actually update the SQL statements, and I'm not sure exactly how you pass in the page you came from in the url, but that is the general syntax of the IF statement and recordsets.

Sign in to reply to this post
Did this help? Tips are appreciated...

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...