> その取得全件から1?50件のみを表示する
全件取得後ならば、先頭から50件分(取得したデータがソート済み配列なら簡単ですね)をループで回しながら表示するのが一般的だと思います。
for() ループで何も問題ないと思います。
__「全件」が50件未満の場合の対応を考えておく必要があるでしょうが
array_slice() で50件のデータだけ取出してしまうのもアリでしょう。
__それならば foreach() でお手軽にループができます
普通は全件取得するんじゃなく、必要件数分取得するんじゃないでしょうか?
SQLに
LIMIT 0 , 50
SELECT * FROM `テーブル` LIMIT 0 , 30