Asterisk Dial-plan for unidentified number of variables

Guys (or gals),

I am pasting my partial script below in hopes of someone might tell me where I am going wrong. The part that is really getting me is that the sql statement returns a differing number of values based on the user it is for.

I was wondering if someone may have an example of a portion of a dialplan which could pull values out of a database (where the select statement could return 1 - 5 values), play back those values to the user and then ask for the user to determine the correct value. It seems that it would be similar to a dialbyname script but can’t find anything.

If I need to clarify let me know. Also, does anyone know if you can embed multiple PlayBacks and SayNumbers into a Read???
--------------snip--------------
;<-------------------Get number of rows returned in select statement
exten => s,13,MYSQL(Query row_count ${connid} select COUNT(DING) FROM tbl_del WHERE DRI=${DRI} AND ISNULL(deldep)=1 AND main_transid>17000 ORDER BY main_transid)
;<-------------------Place row counts in variable CNT
exten => s,n,MYSQL(Fetch fetchid_2 ${row_count} CNT)
;<-------------------Set variable incr to row count (CNT)
exten => s,n,SetVar(incr=${CNT})
exten => s,n,PlayBack(custom\youhave)
exten => s,n,SayNumber(${CNT})
exten => s,n,Playback(custom\pendload)
;<-------------------Get specific data fron column tbl_del (this could have 2 - maybe 5 values)
exten => s,n,MYSQL(Query lo_num ${connid} SELECT DING FROM tbl_del WHERE DRI=${DRI} AND ISNULL(deldep)=1 AND main_transid>17000 ORDER BY main_transid)
;<-------------------While loop to fetch values and put them in their own variables based on how many values were returned
exten => s,n,While($[${incr}>0])
exten => s,n,MYSQL(FETCH NEXT fetchid_2 ${lo_num} billof${incr})
exten => s,n,Set(incr=${incr}-1)
exten => s,n,EndWhile