2013-08-14 4 views
0

У меня есть форма формы select, чтобы обновлять данные профиля для пользователей, но при запуске этого кода обновляется только первая переменная. Любое решение, пожалуйста? Заранее спасибо, и вот мой код:Множественный выбор не работает

JQ(function($) { 
    $("#Nazione,#Regione,#Etta,#Altezza,#Peso").on("change", function() { 
     $.ajax({ 
      type: "POST", 
      url: "/ajax/aggiornaProfilo.php", 
      cache: false, 
      data: $("#Nazione,#Regione,#Etta,#Altezza,#Peso").serialize(), 
      beforeSend: function (xhr) { 
       $("#res").delay(600).fadeIn(300).html('<img src="css/loaders/loader1.gif">'); 
      } 
     }) 
     .done(function(respN) { 
      $("#res").fadeOut('fast'); 
      $.pnotify({ 
       icon:false, 
       sticker: false, 
       text:respN 
      }); 
     }) 
    }); 
}); 

и PHP часть IS->

включая массив для выбора опции

DataArrays(); 

global $Nazioni,$Regioni,$Etta,$Altezza,$Peso,$Corporatura,$Seno; 

$Naz = @$_POST["Nazione"]; 
$reg = @$_POST["Regione"]; 
$ett = @$_POST["Etta"]; 
$alt = @$_POST["Altezza"]; 
$pes = @$_POST["Peso"]; 
$cor = @$_POST["Corporatura"]; 
$sen = @$_POST["Seno"]; 



if(isset($Naz)){ 
     $validateNaz = array_search($Naz, $Nazioni); 
     if($validateNaz){ 
      if(mysqli_query($db,"UPDATE profili SET Nazione='$Naz' WHERE user='$userSession' LIMIT 1")){ 
       echo 'nazione aggiornata con successo'; 
      }else{ 
       echo 'errore'; 
      } 
     }else{ 
      echo 'errore'; 
     } 
    }else 
if(isset($reg)){ 
     $validateReg = array_search($reg, $Regioni); 
     if($validateReg){ 
      if(mysqli_query($db,"UPDATE profili SET Regione='$reg' WHERE user='$userSession' LIMIT 1")){ 
       echo 'regione aggiornata con successo'; 
      }else{ 
       echo 'errore1'; 
      } 
     }else{ 
      echo 'errore2'; 
     } 
    }else 

    if(isset($ett)){ 
     $validateett = array_search($ett, $Etta); 
     if($validateett){ 
      if(mysqli_query($db,"UPDATE profili SET Etta='$ett' WHERE camgirl_profilo='$userSession' LIMIT 1")){ 
       echo 'etta aggiornata con successo'; 
      }else{ 
       echo 'errore etta'; 
      } 
     }else{ 
      echo 'errore etta'; 
     } 
    } 
+1

Пожалуйста, объясните правильно, что вы пытаетесь сделать и в чем проблема. Ваш код даже не объявляет никаких переменных, поэтому я не знаю, что должно быть «первыми переменными». –

+0

Каков ваш html? И лучший способ - вернуть все идентификаторы в один класс. – M1K1O

+0

Я могу видеть любые варианты выбора –

ответ

0

Вы должны определенно писать код на английском.

Если я правильно понимаю ваш PHP-код, понятно, почему только последнее значение обновляется в db.

Это из-за вашей конструкции if/elseif. Поэтому, если первое условие истинно, никто другой не будет выполнен.

Измените это на три условия, и оно должно работать, если нет другой ошибки.

if(isset($Naz)){ 
    $validateNaz = array_search($Naz, $Nazioni); 
    if($validateNaz){ 
     if(mysqli_query($db,"UPDATE profili SET Nazione='$Naz' WHERE user='$userSession' LIMIT 1")){ 
      echo 'nazione aggiornata con successo'; 
     }else{ 
      echo 'errore'; 
     } 
    } else { 
     echo 'errore'; 
    } 
} 

if(isset($reg)){ 
    $validateReg = array_search($reg, $Regioni); 
    if($validateReg){ 
     if(mysqli_query($db,"UPDATE profili SET Regione='$reg' WHERE user='$userSession' LIMIT 1")){ 
      echo 'regione aggiornata con successo'; 
     } else { 
      echo 'errore1'; 
     } 
    }else{ 
     echo 'errore2'; 
    } 
} 

if(isset($ett)){ 
    $validateett = array_search($ett, $Etta); 
    if($validateett){ 
     if(mysqli_query($db,"UPDATE profili SET Etta='$ett' WHERE camgirl_profilo='$userSession' LIMIT 1")){ 
      echo 'etta aggiornata con successo'; 
     } else { 
      echo 'errore etta'; 
     } 
    } else { 
     echo 'errore etta'; 
    } 
} 
+0

Измените это на три, что вы имеете в виду? – Alex

+0

Добавлен код. –

+0

извините за язык ... теперь я пытаюсь сцепить, если он работает – Alex

Смежные вопросы