isic что то вы кажется не тот вайл прикрепили, не заметно там особых оптимизаций.
если вы меняете
PHP код:
$qdb = "WHERE (ihome='0' OR catid='0')";
на это
PHP код:
$qdb = "WHERE (s.ihome='0' OR s.catid='0')";
то следует так же изменить и запрос:
PHP код:
$sql_pn = "select COUNT(*) AS pn from ".$prefix."_stories $qdb" ;
ведь тут тоже встречается переменная $qdb, поэтому получится:
PHP код:
$sql_pn = "SELECT COUNT(*) AS pn FROM ".$prefix."_stories AS s $qdb" ;
и главный запрос будет выглядить тогда так (у вас была допущена ошибка с LIMIT):
PHP код:
$result = $db->sql_query("SELECT s.*, t.*, c.title as title1 FROM ".$prefix."_stories AS s LEFT JOIN ".$prefix."_topics AS t ON(t.topicid=s.topic) LEFT JOIN ".$prefix."_stories_cat AS c ON( c.catid=s.catid and s.catid>0) $qdb $querylang ORDER BY s.sid DESC LIMIT $offset, $storynum");