Javascript 如何使用ajax从下拉菜单更新mysql数据库

Javascript 如何使用ajax从下拉菜单更新mysql数据库,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,如问题所示,您能告诉我如何在ajax的帮助下使用下拉菜单更新mysql数据库吗。我想在不重新加载整个网页的情况下更新数据库。当用户单击“编辑”按钮时,从下拉列表中选择的选项将被更新。搜索了一段时间后,我找到了一些关于这种方法的教程,并从中获取了ajax代码。但当我在我的数据库中尝试这些时;没有成功。下面是我的php脚本的示例代码,父文件在一个名为samefile.php的php文件中同时包含ajax脚本和php代码。下面的脚本只包含有问题的代码,一些html和php代码被故意删除 //THI

如问题所示,您能告诉我如何在ajax的帮助下使用下拉菜单更新mysql数据库吗。我想在不重新加载整个网页的情况下更新数据库。当用户单击“编辑”按钮时,从下拉列表中选择的选项将被更新。搜索了一段时间后,我找到了一些关于这种方法的教程,并从中获取了ajax代码。但当我在我的数据库中尝试这些时;没有成功。下面是我的php脚本的示例代码,父文件在一个名为samefile.php的php文件中同时包含ajax脚本和php代码。下面的脚本只包含有问题的代码,一些html和php代码被故意删除

  //THIS AJAX SCRIPT FETCHES VALUES FROM THE SELECTED DROPDOWN 
<script>

    function get_da(str){
        $.ajax({
            url: "samefile.php",
            type: "POST",
            async: true, 
            data: { dropdown1:$("#dropdown").val()}, //your form data to post goes here as a json object
            dataType: "html",    
            success: function(data) {
                $('#output').html(data); 
                drawVisualization();   
            },  
        });
    } 
);
</script>
///////////////////////////////FIRST BLOCK//////////////////

<?php
//THIS PHP SCRIPT GENERATES DROP DOWN VALUES FROM DATABASE
echo "<select name='dropdown' onChange='get_da(this.value)'>";
while ($row = mysql_fetch_array($result)) 
{

    if($row['id']==$row['user'])
    {
        echo "<option value='" . $row['id'] . "' selected>" . $row['name'] . "</option>";
    }
    else{

        echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
    }

}
echo "</select>";
/////////////////////////////SECOND BLOCK//////////////////////////////

//THIS PHP SCRIPT VALIDATES THE SELECTED DROPOWN VALUE AND PASS THOSE VALES FOR FURTHER PROCESSING.
if(isset($_REQUEST['dropdown1']))
{
    $name=get_the_selected_dropdown_name; //i dont know how to fetch name from dropdown menu                    
    $sql = "UPDATE table SET name = '$name' WHERE id =10";

    mysql_real_escape_string($sql);
    $result = mysql_query($sql) or die (mysql_error());
    if ($result==1)  { 
        echo "Success";
    }
    else { echo "Failed";}
}   
//////////////////////////////THIRD BLOCK////////////////////////////////////
?>

您已经尝试打印在ajax请求中发送的值。您正在将此.value传递给函数get_da(str)。但我认为您在任何地方都在使用它,在ajax帖子中,您发送的值如下

data: {dropdown1:$('#dropdown').val()}
但这不会从下拉列表中发布您选择的vaule,请尝试以下操作:

<script>

function get_da(this){
    var id = $("#dropdown option:selected").val();
    var selectedName = $("#dropdown option:selected").text();
    $.ajax({
        url: "samefile.php",
        type: "POST",
        async: true, 
        data: { dropdown1:id, name:selectedName}, //your form data to post goes here as a json object
        dataType: "html",    
        success: function(data) {
            $('#output').html(data); 
            //drawVisualization();   
        },  
    });
} 

</script>
<?php

echo "<select name="dropdown" onchange="get_da()" id="dropdown">";
while ($row = mysql_fetch_array($result)) 
{

if($row['id']==$row['user'])
{
    echo "<option value='" . $row['id'] . "' selected>" . $row['name'] . "</option>";
}
else{

    echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}

}
echo "</select>";

您到底需要什么,用户可以更改下拉列表值,一旦他单击“编辑”,您希望该下拉列表值更新到您的DB@NaveenThally我一直在寻找通过点击编辑来更新数据库,但我也愿意通过简单地选择下拉列表来更新我的数据库。如果您能为这两种方法提供解决方案,将会很有帮助。您是否注意到您正在设置变量
$submit
,但没有使用它,并且下一行使用了一个不存在的变量
$name
?也许您打算编写
$name=$\u POST[“dropdown1”]?正如我所说,我没有ajax和js方面的经验,所以我从一些教程网站复制了这些代码,并试图根据这些代码修改我的php脚本。我复制了这个想法$submit=$\u POST[“dropdown1”];也谢谢你的回复。我已经包含了更多关于脚本细节理解的信息。当用户选择特定的下拉值(例如:TOM)时,ajax脚本应该获取所选的值,然后将这些值传递给php脚本以更新数据库。上面的ajax脚本不适用于我的PHP。我不擅长AJAX,如果可能的话,你能用AJAX和php提供完整的脚本吗?请详细说明你的问题。我不明白您是要更新数据库中的选定id还是要更新选定id的名称?我要同时传递id和名称。在第三个块中,针对特定id的数据库更新名称。第三个块的实际脚本如下$sql=“update table SET name='$name',其中id='$id'$id是另一个表的变量。根据您的要求进行更新。我认为现在您不应该有任何问题。
<?php

echo "<select name="dropdown" onchange="get_da()" id="dropdown">";
while ($row = mysql_fetch_array($result)) 
{

if($row['id']==$row['user'])
{
    echo "<option value='" . $row['id'] . "' selected>" . $row['name'] . "</option>";
}
else{

    echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}

}
echo "</select>";
 if(isset($_REQUEST['dropdown1']))
 {
  $id=$_REQUEST['dropdown1'];
  $name=$_REQUEST['name'];
  $sql = "UPDATE table SET name = '$name' WHERE id ='$id'";

   mysql_real_escape_string($sql);
   $result = mysql_query($sql) or die (mysql_error());
   if ($result==1)  { 
    echo "Success";
   }
   else { echo "Failed";}
   }   

  ?>