Update Ranking Points Based on Date Range
You should always include your schema and sample before and after data, otherwise it's difficult to conceptualize what we don't know.
You can solve this pretty easily without even using a loop in PHP, rather by using a window function in MySQL like ROW_NUMBER to generate the ranks and then use those ranks to update your scores. Here's a partial example (if you update your question with the missing items I mentioned above, I can update this example):
UPDATE ometimeatk.timeatk_has_list
INNER JOIN 
(
        SELECT *, ROW_NUMBER() OVER (ORDER BY timer DESC) AS RacerRank -- Generates a unique ID (assuming timer is unique) for each racer row ordered by timer
        FROM timeatk 
        WHERE DATE(posted)
            BETWEEN DATE_SUB(DATE(now()), INTERVAL (WEEKDAY(now()) - 1 + 7) % 7 DAY)
            AND DATE_ADD(DATE(now()), INTERVAL 6 - (WEEKDAY(now()) - 1 + 7) % 7 DAY)
        ORDER BY timer ASC LIMIT 0, 10
) c -- Gets the racer rank
    ON ometimeatk.timeatk_has_list.id = c.id -- Fill in your actual key fields here
SET ometimeatk.timeatk_has_list.weekly_score = 11 - c.RacerRank -- Sets the weekly score to 10 for 1st place, 9 for 2nd place, etc