$query="select cardbox_id
from PRODUCTS as p, PRODUCT_LOOKUP as pl
where p.$td[$i]['product_id'] = pl.product_id";
what is $td[$i]['productid']?
If it is a fieldname try reversing statement, i.e, pl.product_id=p.$td[$i]['product_id']
If it is a value, try removing p. from $td[$i]['product_id'] or rewrite like this:
p.productid=$td[$i]['product_id'] AND pl.productid=p.productid
$result=@($query);
if ($result) {
$rec = mysql_fetch_assoc($result);
?>
<td <?php echo $style ?>><?php echo $rec['cardbox_id'];?> </td>
<?php
} else {
echo 'failed to run query'.;
}