[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Корректировка
nasferatu
PHP
PHP
elseif (isset($_POST['correct']))
{
   $id = $_POST['id'];
   $resultdb = mysql_query("SELECT * FROM resultopros WHERE id='$id'");
   $result = mysql_fetch_array($resultdb);
        
   if 
(!empty($_POST['var1'])) $var1 = $_POST['var1'];
   if (!empty($_POST['var2'])) $var2 = $_POST['var2'];
   if (!empty($_POST['var3'])) $var3 = $_POST['var3'];
   if (!empty($_POST['var4'])) $var4 = $_POST['var4'];
   if (!empty($_POST['var5'])) $var5 = $_POST['var5'];
   if (!empty($_POST['var6'])) $var6 = $_POST['var6'];

   /* проверяем, сумма введенного значения и значения из БД меньше нуля, то в БД заносим 0  */
  if (($result['var1'] + $var1) < 0) $var1 = 0;
  else $var1 = $var1 + $result['var1'];
  if (($result['var2'] + $var2) < 0) $var2 = 0;
  else $var2 = $var2 + $result['var2'];
  if (($result['var3'] + $var3) < 0) $var3 = 0;
  else $var3 = $var3 + $result['var3'];
  if (($result['var4'] + $var4) < 0) $var4 = 0;
  else $var4 = $var4 + $result['var4'];
  if (($result['var5'] + $var5) < 0) $var5 = 0;
  else $var5 = $var5 + $result['var5'];
  if (($result['var6'] + $var6) < 0) $var6 = 0;
  else $var6 = $var6 + $result['var6'];

  /* вносим данные в БД  */
  $resultdb = mysql_query("UPDATE resultopros SET var1='$var1',var2='$var2',var3='$var3',var4='$var4',var5='$var5',var6='$var6' WHERE id='$id'");
  
  
/* Считаем какое кол-во опросов у нас  */
  $resultdb = mysql_query("SELECT * FROM opros ORDER BY id DESC");
  $kol_opros = mysql_num_rows($resultdb);
  include("allopros.php");
}


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



Спустя 23 часа, 40 минут, 1 секунда (4.03.2009 - 20:03) bret написал(а):
Учитывая большое количество цыфроимённых переменных, проще юзать массивы (например так - $_POST['var'.$i])

if (($result['var1'] + $var1) < 0) $var1 = 0;
вызовет ошибку, если $_POST['var1'] не была передана

if (($result['var1'] + $var1) < 0)
а почему не if($result['var1'] > $var1)

Спустя 2 часа, 47 минут, 35 секунд (4.03.2009 - 22:50) nasferatu написал(а):
bret, а если $result['var1'] равен, например 3, а пытаемся корректировать $var1 = -5. $result['var1'] будет больше $var1 и результат будет -2, а этого не должно быть, потому и прибегаю к $result['var1'] + $var1) < 0.
А массивы может и удобней будет, посмотрим.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.