Php 多重选择不起作用

Php 多重选择不起作用,php,jquery,Php,Jquery,我有一个selectoptions表单来更新用户的配置文件数据,但是运行此代码只是更新第一个变量。有什么解决办法吗?提前感谢,以下是我的代码: JQ(function($) { $("#Nazione,#Regione,#Etta,#Altezza,#Peso").on("change", function() { $.ajax({ type: "POST", url: "/ajax/aggiornaProfilo.php"

我有一个
select
options表单来更新用户的配置文件数据,但是运行此代码只是更新第一个变量。有什么解决办法吗?提前感谢,以下是我的代码:

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代码,那么很清楚为什么数据库中只更新第一个值

这是因为您的if/elseif构造。因此,如果第一个条件为真,则不会执行其他条件

将此条件更改为三个if条件,如果没有其他错误,它应该可以工作

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';
    }
}

请正确解释你正在尝试做什么以及问题是什么。你的代码甚至没有声明任何变量,所以我不知道“第一个变量”应该是什么。你的html是什么?更好的方法是,将所有id重新放置到一个类中。我可以看到任何选择选项更多问题:
/ajax/aggiornaProfilo.php
的代码在哪里?这是您实际运行数据库查询的地方@亚历克斯:你打开一个帖子向我们寻求帮助。如果有人试图指出你的剧本可能不安全,你可以很高兴,应该感谢他!将此更改为三您的意思是什么?对不起,语言…现在我尝试使用se,如果它有效,它将仅更新两次选择并返回,就像已更新一样。我不明白您的意思。给出一些清晰的信息,哪些有效,哪些无效。显示示例数据和您想要的结果$Naz=$_POST[“Nazione”]$reg=$_POST[“Regione”]$ett=$_POST[“Etta”]$alt=$_POST[“Altezza”]$pes=$_邮政[“比索]$cor=$_POST[“Corporatura”]$sen=$_POST[“Seno”];如果(mysqli_query($db,“UPDATE profili SET Nazione='$Naz',Regione='$reg',Etta='$ett',Altezza='$alt',Peso='$pes',Corporatura='$cor',Seno='$sen WHERE camgirl_profilo='$userSession'LIMIT 1”){echo'Nazione aggiornata con successo';}否则{echo'errore
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';
    }
}