It is a little complex... but I have created several searches like this. Is what they are doing is using an AJAX script to actually modify the URL variables when you make a selection. If you notice at the top, you can scroll through the URL and you'll see variables added there after making checkbox selections.
It will have something like thispage.php?model=computer1,computer2,computer2&... (please note, I am just making arbitrary names up just to demonstrate how they are doing it).
So what is happening is that all the selection for the type of computer, for example, are being stored into an array of a URL variable. In my arbitrary example, that variable would be model containing an array of comma separated values.
They are then looping through that array in a query to get the drill down of models based on the criteria selected by the user.
They could do that with a for each loop:
first store the array into a variable -
<?php
$allmodels = $_GET['model'];
foreach ($allmodels as $item){ ?>
<?php
mysql_select_db($database_data, $data);
$query_cd = "SELECT * FROM yourtable WHERE column = '$item';
$cd = mysql_query($query_cd, $sjr) or die(mysql_error());
$row_cd = mysql_fetch_assoc($cd);
$totalRows_cd = mysql_num_rows($cd);
?>
<?php do { ?>
Add the information you want to loop through for each query using php echo when needed to bind a variable
<?php } while ($row_cd = mysql_fetch_assoc($cd)); ?>
<?php } ?>
This method will create a loop within a loop... because you'll have a do while statement inside the loop of the array in the query allowing you to display multiple items in order on the screen from each query as it loops through.