Это нормальное поведение. Поле id нужно использовать только как идентификатор строки.
А если вы хотите сделать красивый вывод номеров по порядку, скажем в таблице, делайте запрос так: select id, @i:=@i+1 as beauty_number from table
Я делал так:
Генерировал на сервере переменную $uniqid = uniqid();
Дописывал к имени файла $file_name."?$uniqid"
Возвращал и вставлял в src img'a, все обновлялось
Однозначного ответа вы тут не найдете, так слишком много неизвестного=) Используйте JS, фреймворк к нему, jQuery наверное. Плюс завзяка с сервером посредством JSON.
Так учите верстку, не пойму. Книги по CSS 3, HTML 5, онлайн. Зачем юзать готовые варианты, намного интереснее ведь творить самому, на первых порах это важно. Это дальше велосипеды ни к чему.
Написано только что