ehh... Przykro się czyta ten temat.
Z jednej strony jest człowiek, który nie do końca potrafi przedstawić swój problem.
Z drugiej - kilka osób, któe chcą przedstawić swoje racje, nie interesując się przedstawionym problemem.
A przecież wnieski z tego płynące - są proste.
1. w dzisiejszych czasach konieczne jest pisanie obiektowe.
2. Aby móc to robić - potrzeba poznać składnię tworzenia klas - i pamiętać o tym, że np. klasa musi mieć nazwę

(
http://pl2.php.net/manual/pl/ref.classobj.php )
3. Nikt nie nauczy się pisać obiektowo, jeśli nie zacznie tego robić, nawet jeśli na początku powstają takie potworki. I nie można od razu zarzucać, że to lepiej byłoby zrobić strukturalnie - lepiej jest pokazać, jaką strukturę powinna mieć dana klasa.
4. Należy pamiętać, że im mniejsze, i bardziej wyspecjalizowane funkcje, tym lepiej. Szczególnie w tym przypadku, gdzie bardzo wyraznie widać fragment kodu służący do pobierania danych, fragment do wyświetlania newsów, wyświetlanie strzałek...
w skrócie - można by to zrobić np. tak (nie będę pisał całego kodu, postaram się również opierać na tym, co już napisałeś)
<?php
class Sql
{
var $sDbName;
var $sDbPass;
var $sDbUser;
var $mDbResource;
function Sql( $sDbName, $sDbUser, $sDbPass )
{
}
function query( $sQuery )
{
return ( mysql_query( $sQuery, $this->mDbResource ) or
echo 'Błąd w zapytaniu '. $sQuery ); }
}
class Newsy
{
var $iIloscNewsow = null;
var $iIleOnPage = 10;
var $mQueryIdent;
function Newsy( &$Sql )
{
$this->Sql =& $Sql;
$this->getCount();
}
function getCount()
{
if( isset( $this->iIloscNewsow ) ) {
return $this->iIloscNewsow;
}
$aRow = mysql_fetch_row( $this->Sql->query( 'SELECT Count(*) FROM .... ') ); return $this->iIloscNewsow = $aRow[0];
}
function getData( $iPageNumber=0 )
{
$this->mQueryIdent = $this->Sql->query( 'SELECT * FROM ....
LIMIT ' .( $this->iIleOnPage * $iPageNumber) .','. $this->iIleOnPage );
}
function getRow()
{
}
function display()
{
echo \"<table border=1 width=100%>\"; while( $aWiersz = $this->getRow() )
{
echo '<tr><td><b><small>' . $this->cutText( $aWiersz['cos tam'], 100 ) . '</td> </tr>' ;
}
$this->displayStrzalki();
}
function displayStrzalki()
{
// nice name;)
}
function cutText($tekst, $il_znakow)
{
if (strlen($tekst) > $il_znakow) {
}else return $tekst;
}
}
$Sql = new Sql( 'nazwa_bazy', 'user', 'haslo');
$Newsy = new Newsy( $Sql );
$Newsy->getData( (int) $_REQUEST['numer_strony'] );
$Newsy->display();
?>
Nie testowałem tego kodu, ale myślę, że dosyć dobrze przedstawia on ideę, i możliwości z niej płynące.