I add limit 21 to the query for efficiency. It would still only display the 21 without it, but since I know only 21 records are being shown there is no reason to retrieve more.
The first record is always first, so I don't need to do anything to show the first record.
On line 238 I add a call to mysql_fetch_assoc() to move to the next record (second) before starting the loop:
<?php
$row_rsProductUpdates = mysql_fetch_assoc($rsProductUpdates);
?>
The number of rows actually displayed is controlled by line 117 in the loop settings:
$RepeatSelectionCounter_1449935665360_Iterations = "20";
To have it not break in the middle of a word, I'd return more characters than you need in the sql query, maybe change it to 160... then add a function to the php:
<?php
function truncate($str, $width) {
$str = str_replace("\n"," ",$str);
return strtok(wordwrap($str, $width, "...\n"), "\n");
}
?>
And then display the column using that function like:
<?php echo(truncate($row_rsProductUpdates['summarytext'], 140)); ?>
Breaking it into multiple repeated regions shouldn't be an issue... just lower the number in the first one on line 117 and add more repeated regions for the others. You wouldn't really need to change the limit in the SQL unless you were displaying more than 21 total rows.