For one, why isn't the "offerexp" column a DATETIME column?
Second, why not add the conditions that you want (offer ID isn't 999 and the offer hasn't expired yet) to a WHERE condition in your query? There's no sense in SELECT'ing a bunch of rows that you don't even want, not to mention the fact that it would be much more efficient to let the SQL server do the comparisons and only return the row(s) you want.
Finally, note that you've got a problem in your PHP syntax here:
if ($offid=999 or strtotime($start) > strtotime($end)){
Note that you are assigning the value of 999 to the variable $offid rather than comparing the two values. To do the latter, you need a comparison operator (such as a double equal sign).