php - 如何根据传递的变量发布数据

标签 php mysql cordova

我正在尝试将数据插入数据库,其名称是通过参数传递的表。我使用phonegap、php、SOAP。 我的数据库是这样的:

    function create_promo($nom_restaurant,$codeBarre,$designation,$dateDebut,$dateFin,$prix,$TVA,$photo){


      $db=new PDO('mysql:host=localhost;dbname=testf','root','');
      $req=$db->prepare("insert into'".$nom_restaurant."'values(:codeBarre,:designation,:dateDebut,:dateFin,:prix,:TVA,:photo)");
      $req->execute(array(':codeBarre'=>$codeBarre,':designation'=>$designation,':dateDebut'=>date("Y-m-d",strtotime($dateDebut)),':dateFin'=>date("Y-m-d",strtotime($dateFin)),':prix'=>$prix,':TVA'=>$TVA,':photo'=>$photo)); 
    return "promotion creer";

}

我用ajax代码获取表的名称:

 $(document).ready(function()
 {
     function getUrlVars() {
 var vars = [], hash;
 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 for (var i = 0; i < hashes.length; i++) {
 hash = hashes[i].split('=');
 vars.push(hash[0]);
 vars[hash[0]] = hash[1];
 }
 return vars;
}
     var nom_restaurant = decodeURI(getUrlVars()["nom_restaurant"]);

     $("#new").append("<a href='ajout.html?nom_restaurant="+nom_restaurant+"'>"+"Nouvelle promotion"+"</a>");

在我的脚本中插入数据库:

 $(document).ready(function()
 {
      function getUrlVars() {
 var vars = [], hash;
 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 for (var i = 0; i < hashes.length; i++) {
 hash = hashes[i].split('=');
 vars.push(hash[0]);
 vars[hash[0]] = hash[1];
 }
 return vars;
}
 $("#insert").click(function(){
 var codeBarre=$("#codeBarre").val();
     var nom = decodeURI(getUrlVars()["nom_restaurant"]);
 $("#nom").val(nom); 
var nom_restaurant=$("#nom").val();
    var dataString="codeBarre="+codeBarre;

 alert (dataString);

 $.post({

            url:"http://192.168.1.15/fou/promoCre.php",
            type:"POST",
            data:{data:dataString,nom_restaurant:nom_restaurant},
            success: function(data){
            alert(data");},
            failure: function(errMsg) {
                alert(errMsg);
            }

});


    });

});

表名正在获取,但插入不起作用。

我的PHP代码:

  require_once('lib/nusoap.php');

 $client = new nusoap_client('http://localhost/fou/server.php');
$result=$client->call('create_promo',array('nom_restaurant'=>$_GET['nom_restaurant'],'codeBarre'=>$_POST['codeBarre'],'designation'=>$_POST['designation'],'dateDebut'=>$_POST['dateDebut'],'dateFin'=>$_POST['dateFin'],'prix'=>$_POST['prix'],'TVA'=>$_POST['TVA'],'photo'=>$_POST['photo']));
    print_r($result);

最佳答案

至少您应该在 PHP 中使用 _POST,因为您在 ajax 中使用 POST

关于php - 如何根据传递的变量发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137870/

相关文章:

PHP 将 mktime 结果转换为 UTC

php - 使用 Backbone.js 与服务器通信

android - cordova-plugin-inappbrowser 未打开从 APP 到 IOS 设备默认浏览器的链接

javascript - PhoneGap iOS UIPicker 等效元素 : select an option value programmatically

PHP 准备好的语句在网络服务器上不起作用

php - Laravel - 如何用 Eloquent 写这个?

mysql - 无法在 MySql 中添加外键

iframe - Youtube API Yt.Player对象不适用于phonegap/在移动设备上[Yt播放器对象与直接iframe]

mysql - Spring Boot JPA 一对一映射生成 StackOverflow 错误

mysql查询优化步骤或者如何优化查询