Below script assumes you have your offers stored with a reference to the Subscriber Key of the recipient. Otherwise you will need to add another identifier in the sendable data extension, allowing you to map the offers to the particular recipient.
It will look for records in that data extension, which match the ID, and show any matching number. If no records are found, it will show the fallback content (after else).
%%[
var @offerRows, @offerRow, @offerRowCount, @subscriber, @i
set @subscriber = AttributeValue(_subscriberkey) /* unique ID of the recipient */
set @offerRows = LookupRows("OfferDataExtension","customer_id", @subscriber)
set @offerRowCount = rowcount(@offerRows)
if @offerRowCount > 0 then
for @i = 1 to @offerRowCount do
var @offerLink, @offerName
set @offerRow = row(@offerRows, @i) /* get row based on counter */
set @offerLink = field(@offerRow,"link")
set @offerName = field(@offerRow,"name")
]%%
<br>You qualify for %%=v(@offerName)=%%, you can find it <a href="%%=RedirectTo(@offerLink)=%%">here!</a>
%%[
next @i ]%%
%%[ else ]%%
Sorry, no offers for you.
%%[ endif ]%%
I will recommend you exploring some Ampscript resources, to familiarise yourself with the notation. You can start with Trailhead as well as Ampscript.guide