Where does the variable $strings come from?
Although I think where the actual problem lies is that you have no braces around your conditional blocks. If you don't use braces then only the line directly after the if statment will be in that conditional block, so, in you case, $orders will always be equal to "Genre".
Try this as a start. Also have a read up on register_globals and the $POST, $GET & $_REQUEST superglobals arrays as they would be preferable to relying on register_globals being on as it apears you are.
if(empty($pagenum))
$pagenum = 1;
// if string is populated then use that for the query
if (!empty($str))
$str = $str;
// if orders is empty then set artist as default. It dosn't!!!
if (empty($orders))
$orders = "artists";
// if search has bee submitted get the details
if ((!empty($select))&& $select=="artists") {
$str = $strings;
$orders = "artists";
}
if ((!empty($select))&& $select=="titler") {
$str = $strings;
$orders = "titler";
}
if ((!empty($select))&& $select=="labeler") {
$str = $strings;
$orders = "labeler";
}
if ((!empty($select))&& $select=="genre") {
$str = $strings;
$orders = "genre";
}