Во первых, кнопку сабмит и селект надо всунуть внутрь формы, чтоб все работало.
Форму отправляй, например на себя же, например методом GET
У селекта задай имя, кнопке задай name="submit"
Перед запросом к базе, проверь, отправилась ли форма ( isset($_GET['submit']) )
Дальше смотрим на значение у селекта ( $_GET['select_name'] )
В зависимости от этого значения формируем условие в sql запросе по дате (почитай про mysql функции для работы с датой)
погуглите pagination , либо самостоятельно напишите, ничего сложного нет, например если cur_page > 3, отображаем вначале "...", затем отображаем cur_page-2 и cur_page-1 со ссылками, потом саму cur_page. Аналогично и вперед.
вот например http://www.php.su/articles/?cat=...les&page=062
1) посмотрите на названия переменных, сначала вы используете $datev, в базу пытаетесь вставить $datav
2) проблема со знаком градуса, замените его чем нибудь
$q="select sost,saledate,img from products where sost=2 ORDER BY saledate ASC";
А в скрипте перебора результата запроса проверяем, если дата текущей строки не равна дате из прошлой строки, то выводим Вашу "шапку" с датой, иначе продолжаем выводить img
1) Каждый блок полей - в разные формы, у которых будет разное name для кнопки submit
2) в обработчике спрашиваете какой из сабмитов нажали, такой и обрабатываем
Пример:
Если другие строки не нужны для вывода, то в запросе ставь условие:
WHERE столбец4 = "254234232"
Если все строки нужны для вывода, а при данном условии надо не только вывести строку, но и выделить ее и занести в переменные, то в запросе нет условия, а при выводе в php проверять:
if ($arr['столбец4']="254223421") {
// выделяем строку
// заносим значения в переменные