icaro não fui eu que escrevi o codigo mas vou tentar responder à tua pergunta, assim pratico um pouco, espero que o morpheus não se importe (é que eu ando numa de php spree)
para te ligares a uma base de dados mysql precisas dempre de 4 dados, o servidor ($host="O_HOST_MYSQL"; ) a conta que queres utilizar para te ligar, ou seja o username ($sqluser="SQL_USER"; ) a password respectiva ao username ($sqlpassword="SQL_PASSWORD"; ) e finalmente a base de dados a que te queres ligar ($database="SMF_DATABASE"; ) visto que podes ter várias
$connection=mysql_connect($host,$sqluser,$sqlpassword) or die (mysql_error()); aqui ele estabeleceu a conecção com o mysql através de uma funcção integrada do php (mysql_connect(); ) com as respectivas informações, servidor, username e password e caso algo corresse mal ele utilizou o (or die (mysql_error()); ) que se algo correr mal da-nos o erro que aconteceu, penso que não é necessario igualar tudo à string $connection, isto só é util caso queiras utilizar novamente aquela conecção, poupando codigo só chamando pela string
depois ele estabeleceu a ligação com a database ($db = mysql_select_db($database) or die (mysql_error()); ) novamente com o (or die (mysql_error()); ) aqui acontece o mesmo daquela igualdade acima
a seguir não percebi o que ele queria com o ($password = ""; ) visto que no resto do codigo não está a ser utilizado pra nada... o morpheus deve saber explicar isto
depois armazenou na string $query a busca que se vai fazer a seguir (SELECT * FROM smf_messages WHERE ID_TOPIC='O_ID_DO_TOPICO" ORDER BY -ID_MSG) não te vou explicar isto por já é codigo mysql que convinha ser aprendido em vez de te estar a ensinar agora à pressão, mas a intensão daquele codigo é fazer uma lista por uma dertiminada ordem do conteudo que se quer extrair da base de dados
$result = mysql_query($query) or die(mysql_error()); aqui ele realizou a query utilizando a string $query anterior, ele podia ter simplesmente posto a busca aqui, mas assim o codigo fica mais organizado e podes vir a precisar mais tarde daquilo.. aqui acontece o mesmo daquela outra igualdade acima mas desta vez é necessaria em baixo
agora pro resto vamos falar portugues bem dezido lol
i é igual a zero ($i=0; ) enquanto i for menor que dez (while($i<10)) somamos mais um ao i ($i++; ) e extrai-se uma linha da base de dados que estão transformadas numa array (imagina varias strings juntas lado a lado) que resultou da query em cima feita $row = mysql_fetch_array($result); extract($row); e apresentamos cada resultado ($subject) seguindo de uma linebreak (<br>)
o objectivo desta parte final é extrair da busca feita, 10 linhas da base de dados e apresenta-las separadas por um paragrafo, o quebra de linha (como quiseres chamar) o tal <br>
por outro lado, o codigo nesta parte é duvidoso, porque $subject não está definido anteriormente em lado nenhum, ou seja muito possivelmente deveria ser $subject = extract($row); para depois sim ser utilizado, mas o morpheus é que te pode explicar, porque foi ele que fez
e então mais claro? duvidas é só dizer