You are almost there and don't realize it. If you can say this
when a user referrers someone, they jump ONE place in the list.
you've defined both the problem and solution.
Your table
Name/Sortorder
Tekky/1
Nemo/2
David/3
David has referred somebody and gets to move up 1 notch.
First figure out David's current sortorder:
SELECT sortorder FROM table WHERE name='David'
Now you know David is sortorder 3
Next find the name and sortorder of the person 1 step over david's sort order (3)
SELECT name, sortorder FROM table WHERE sortorder<3
ORDER BY sortorder DESC LIMIT 1
Now you know that Nemo is above David in slot 2.
UPDATE table SET sortorder = 2 WHERE name='David'
UPDATE table SET sortorder = 3 WHERE name='Nemo'
If you are absolutely sure that the list will be sorted in a series with no gaps ever (ie, always 1,2,3...n), your job is even easier.
You'll need to do a little gotcha checking...for example, since Tekky is number 1 already, you don't want errors arising from trying to move him up even higher.