I am sorry, but I just simply cannot find the source of the error.
Here is what I do know:
1. The script is correctly forming the SQL query:
Code:
SELECT topic_id, forum_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_first_post_id
FROM phpbb_topics
WHERE forum_id = '1'
ORDER BY topic_id DESC
LIMIT 10
Go ahead and try it yourself, put that into phpMyAdmin as SQL and run it ... it will return the 4 posts that are in your news category.
2. PHP does not appear to be incrementing the internal counter correctly OR PHP is not receiving the correct data back from mysql. This is strange, as we can execute the query ourselves and see that it returns all 4 posts. But when PHP does it, php reports that only two posts are available.
I am unable to duplicate this error on a local machine as well. I tried on both a PHP 4.3.11 / MySQL 4.1 and a PHP 5.0.4 / MySQL 4.1 setup. You are currently running on a slightly older version of PHP and MySQL 4.0. Older versions *could* be your source of the problem, as could be come misconfiguration (not with the forum-news script but with PHP or MySQL).
I doesn't make any sense really. The query does not fail. The query returns only partial results, but the same query from command line or phpMyAdmin returns the correct results.
Maybe is has something to do with the remote host as well? That may be a thought. It is possible that whoever is hosting you has some mysql array setup and it is out of sync. I'll see if I can determine if this is the case.