如何将下拉列表选择的值添加到数据库?

时间:2016-09-24 09:35:52

标签: javascript php jquery html ajax

你好,我是PHP和ajax的新手。在选择下拉列表时,将出现单独的div函数,我必须插入两个值。我的意思是选择的选项以及单独div中的输入数据。我的英语不好。请帮帮我的朋友。 提前谢谢你

<p><label>Affiliate Type</label></p>
<p><select class="inp authInput" id="id_affiliate_type" name="affiliate_type">
<option value="" selected="selected" disabled="disabled" style="display: none;">Select</option>
<option value="I">Individual</option>
<option value="O">Organisation</option>
<div id="errorselect"></div>
</select></p>
<b button type="submit" class="btn btn-primary" onclick="return sendaccountData();" id="updateaccount" name="updateaccount">Update Account Information</b></button>

如何使用ajax和php在phpmyadmin数据库中存储它..

3 个答案:

答案 0 :(得分:1)

您需要实现一个javascript侦听器,以便在选择选项时做出反应。然后在此侦听器中,您需要使用所选选项值作为post / get变量向服务器发送ajax请求。在您的服务器上,您需要实现相应的php文件来处理ajax请求。这个php文件必须获取post / get变量(选定的选项值)并将其插入SQL数据库中。这是一般的想法。

假设您使用的是jQuery,则侦听器必须位于您网页的javascript文件中,并且应该如下所示:

// react when the select list changes
$('#id_affiliate_type').on('change', function(e) {

    // get the selected option value
    var selected = $(this).find(':selected').text(); // or val(), need to confirm this...

    // send the ajax request to your server
    $.ajax({

        // url of your php script which insert data into database
        url: 'your_php_file.php',

        type: 'get' // or 'post' if you prefer

        // variables passed to the script
        data: {selected : selected},

        // callback, request is successful
        success: function(result) {
            console.log('success ' + result);
            // do whatever you need to do after the call
        }

        // callback, something wrong happened
        error: function(result) {
             console.log('error ' + result);
             // do whatever you need to do after the call
        }

        // process completed (success or error)
        complete: function(result) {
        }
    }
}

在PHP文件(your_php_file.php)中,您可以通过调用以下方式访问“selected”变量:

$selected = $_GET['selected'] // (or $_POST)

...然后根据需要使用它来修改数据库。

这也是一般的想法,上面的代码只是一般设计,不是“原样”使用,而是作为灵感。

您可以在SO和其他地方找到很多关于在选择列表上实现on('change')侦听器的示例,使用变量向服务器发送ajax请求,并使用这些变量在PHP中更新数据库。

祝你好运

答案 1 :(得分:1)

<强> file1.php

<?php
$data=$_GET['foo'];
if($data=="option1")
{
    echo "selected value is option1";    // add sql operation here if option 1
}
else if($data=="option2")
{
    echo "selected value is option2";  // add sql operation here if option2
}
?>

<强> file2.php

$("a").on("click", function(event){
    //check the value of this.hash
    if(this.hash !== ""){
        event.preventDefault();

        $("html, body").animate({scrollTop:$(this.hash).offset().top}, 500);

        //add hash to the current scroll position
        window.location.hash = this.hash;

    }



});

您可以根据file2.php中的下拉选项显示数据,

答案 2 :(得分:0)

很简单。您可以进行ajax调用并在调用成功时获取值并将其插入该DIV。

您需要1个php文件,仅用于检查数据库并提供输出,例如:select_org_type.php

示例:select_org_type.php

<?php
if(!empty($_GET['affiliate_type'])){
    //use mysqli commands to connect to database and fetch result and store in $result.
    header();//This is very important, it will set your output as pure JSON object and javascript will find it easy to integrate
    echo json_encode($result);
}

现在,在你的页面中,例如你正在使用jQuery(我建议很容易实现ajax调用)

<script type="text/javascript">
    var affiliate_type = $('#id_affiliate_type').val();
    $('#updateaccount').on('click',function(){
        $.get('select_org_type.php',{affiliate_type:affiliate_type},function(data){
            $('#errorselect').text(data['column-name']);
        });
    });
</script>

这是我如何进行ajax调用以填充任何select选项或将结果提供给任何div。