Оптимизация обработки формы

Оптимизация обработки формы

Есть форма, по результатам выборки которой создается запрос к базе данных. В принципе, она работает.
Но не отпускает ощущение, что это очередной изобретенный велосипед и есть более простой и изящный способ решить ту же задачу. Выборка будет примерно из десятка параметров в каждом с десяток вариантов выбора.

PHP:
// Поиск по количеству комнат: 
	  if (isset($_POST['room'])) {$room = $_POST['room'];}
 else {
echo "<p>Что-то пошло неправильно... Попробуйте еще раз.</p>";
 exit; 
 }  
 
switch ($room) {
    case 1:
        $number_room ="=1 ";
        break;
    case 2:
        $number_room ="=2 ";
        break;
      }

// Поиск по району
if (isset($_POST['area'])) {$area = $_POST['area'];}
 else {
echo "<p>Вы не выбрали район</p>";
 exit; 
 }   

if (isset($area[0])) {$res_area = false;}
else {
      if (isset($area[1])) {$area[1] = "'Подольский'";}
      if (isset($area[2])) {$area[2] = "'Оболонский'";}
  
$res_a = implode (",", $area);
	   $res_area = "AND area IN (".$res_a.")";
	      }

	  $result = "number_rooms".$number_room;	  
if ($res_area == true) {$result = $result.$res_area;}

  $result_all = mysql_query ("SELECT * FROM sell_flat WHERE $result",$db);
 
Насчет переменных прошу прощения - это от многочисленных переделок, уже исправлено.

Да, Вы правы, switch здесь больше подходит однозначно. Спасибо большое. Сразу же изменю, чтобы в следующих ответах не повторялись.

Хотя мне было скорее интересно, нет ли какого-то принципиально другого подхода к решению этой же задачи?..
 

FB3

Новичок
Готтердаммерунг
принципиально другой - это слишком много знать нужно сначала.
Почитай про ООП и MVC для начала.
 

Духовность™

Продвинутый новичок
Почитай про ООП и MVC для начала.
Перестаньте новичкам такие сложные вещи советовать. Ни ООП, ни МВС ему не нужен.


Готтердаммерунг
ты не правильно обрабатываешь форму. никаких exit. Вот тут описано, как правильно обрабатывать формы: http://phpclub.ru/talk/showthread.php?s=&threadid=43521 - вызубри этот алгоритм
 
FB3 Доберусь и до ООП со временем, надеюсь) За направление, в котором нужно развиваться, спасибо.


triumvirat Спасибо большое, буду знать и использовать.
Еще вопрос, просто чтобы понимать, а не воспринимать как данность: почему нельзя использовать exit - чем это грозит?
 

SiZE

Новичок
Через exit ты просто делаешь прерывание работы скрипта. Правильней будет, если скрипт отработает до конца и выведет нужное сообщение об ошибки.
 

Духовность™

Продвинутый новичок
почему нельзя использовать exit - чем это грозит
exit нужен в редких случаях, в примере используется exit после отправки HTTP-заголовка Location, что бы гарантированно ничего более не попало в выходной поток. Такова уж особенность начинающих пхп-программистов - они начитались дурацких мануалов с примерами, типа твоего, и на каждую ошибку пользователя делают exit. Это в корне не верно.

Еще вопрос, просто чтобы понимать, а не воспринимать как данность
представь себе, ты заболел какой-то болезнью. Приходишь к врачу, а он достает автомат и тебе в голову стреляет. Вот exit с концептуально-философской точки зрения в твоем примере - это вот такое тупое убийство. Убийство скрипта и всей его логики. Как SiZE написал,
Правильней будет, если скрипт отработает до конца и выведет нужное сообщение об ошибки.
что и продемонстрировано в примере, который я тебе дал.
 
SiZE, triumvirat Спасибо за пояснение. Просто не хотелось втупую делать "потому что надо так".

Автор оригинала: triumvirat
представь себе, ты заболел какой-то болезнью. Приходишь к врачу, а он достает автомат и тебе в голову стреляет. Вот exit с концептуально-философской точки зрения в твоем примере - это вот такое тупое убийство.
Угу, ясно - в принципе, можно и exit, но есть варианты гуманнее.
 
Сверху