使用ajax在php中向表中插入数据

时间:2012-06-14 21:04:06

标签: php mysql ajax

我正在使用ajax在php中添加数据和上传文件 但它返回需要appname我将在GetPhp.php中编写查询appname是必需的

if(!appid)
    {
    var appname=document.getElementById("appname").value;
    parameters ="appname="+appname;
    /*var apptype=document.getElementById("apptype").value;
    parameters ="apptype="+apptype;
    var appurl=document.getElementById("appurl").value;
    parameters ="appurl="+appurl;
    var appguid=document.getElementById("appguid").value;
    parameters ="appguid="+appguid;
    var cname=document.getElementById("cname").value;
    parameters ="cname="+cname;*/
    $.ajaxFileUpload
            (
            {

                    url:'uploadplist.php',
                    secureuri:false,
                    fileElementId:'plist',
                    dataType: 'json',
                    data:{name:'logan', id:'id'},
                    success: function (data, status)
                    {


                        var plist=data.msg;

                        parameters +="&plist="+plist;

                       $.ajaxFileUpload
                         (
                          {

                          url:'uploadipa.php',
                          secureuri:false,
                          fileElementId:'ipa',
                          dataType: 'json',
                          data:{name:'logan1', id:'id1'},
                          success: function (data, status)
                          {
                           var ipa=data.msg;
                           parameters +="&ipa="+ipa;
                              $.ajaxFileUpload
                             (
                              {

                            url:'uploadprovision.php',
                            secureuri:false,
                            fileElementId:'provision',
                            dataType: 'json',
                            data:{name:'logan2', id:'id2'},
                            success: function (data, status)
                            {
                            var provision=data.msg;
                            parameters +="&provision="+provision;
                            $("input#appname").val('');
                            /*$("input#apptype").val('');
                            $("input#appurl").val('');
                            $("input#appguid").val('');
                            $("input#cname").val('');*/
                            $('#mask').hide();
                            $('.window').hide();
                            httprequest.onreadystatechange=alertContents;
                            httprequest.open('POST','GetPhp.php',true);
                            httprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                            httprequest.setRequestHeader("Content-length", parameters.length);
                            httprequest.setRequestHeader("Connection", "close");
                            httprequest.send(parameters);
                            },
                           error: function (data, status, e)
                           {
                           alert(e);
                           }
                         }
                       )

                          },
                         error: function (data, status, e)
                         {
                         alert(e);
                         }
                         }
                       )


                    },
                    error: function (data, status, e)
                    {
                        alert(e);
                    }
            }
            )

            }

我只插入appname工作 当我删除apptype,appurl,appquid,cname的评论时,它没有上传 骗了我。

1 个答案:

答案 0 :(得分:1)

我不清楚你在问什么,但我认为你的问题在这里:

var appname=document.getElementById("appname").value;
parameters ="appname="+appname;
var apptype=document.getElementById("apptype").value;
parameters ="apptype="+apptype;
var appurl=document.getElementById("appurl").value;
parameters ="appurl="+appurl;
var appguid=document.getElementById("appguid").value;
parameters ="appguid="+appguid;
var cname=document.getElementById("cname").value;
parameters ="cname="+cname;

您正在替换parameters而不是添加它。尝试...

var appname=document.getElementById("appname").value;
parameters ="appname="+appname;
var apptype=document.getElementById("apptype").value;
parameters +="&apptype="+apptype;
...

(请注意+=和其他&

或更可读...

var parameters =
    "appname="  + $("#appname").val() + 
    "&apptype=" + $("#apptype").val() +
    "&appurl="  + $("#appurl").val() +
    "&appguid=" + $("#appguid").val() + 
    "&cname="   + $("#cname").val();

您可能还需要对参数进行urlencode(这是一种很好的做法)

例如......

var parameters =
    "appname="  + encodeURIComponent($("#appname").val()) + 
    "&apptype=" + encodeURIComponent($("#apptype").val()) +
    "&appurl="  + encodeURIComponent($("#appurl").val())  +
    "&appguid=" + encodeURIComponent($("#appguid").val()) + 
    "&cname="   + encodeURIComponent($("#cname").val());