我有一个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部分是 - &gt;
包括用于选择选项的数组
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';
}
}
答案 0 :(得分:0)
你绝对应该用英文写代码。
如果我正确理解你的php代码,很明显为什么只有db中的第一个值更新。
这是因为你的if / elseif结构。因此,如果第一个条件为真,则不会执行其他条件。
如果条件,则将其更改为3,如果没有其他错误,则应该有效。
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';
}
}