【问题标题】:AJAX and JSON with PDO MySQLAJAX 和 JSON 与 PDO MySQL
【发布时间】:2013-02-22 03:35:34
【问题描述】:

我正在尝试从属性中获取数据,通过 ajax 将其传递到另一个页面,然后插入到 mysql 中。

现在我有一些 div 元素

<div data-categories="[{"name":"Gastropub","pluralName":"Gastropubs"},{"name":"Food","pluralName":"Food"}]">
Name
</div>

分解:

-----------------------

    [
        {"name":"Gastropub","pluralName":"Gastropubs"},
        {"name":"Food","pluralName":"Food"},
        {"name":"more","pluralName":"more"}
     ]


------------------------

data-categories 是我插入 json_encoded 数组并将其弹出的位置。当我试图做的是找出使用 ajax 来获得该值的最佳实践可能与

var cats = $('div').data('categories');

$.ajax(function(){
 type:"POST",
 url:"other.php",
 data: "data="+cats,
 success:function(data){
    alert("success");
 }
});

other.php

现在我想弄清楚如何在这个other.php 中将每个值分别保存到我的 MySQL 中,如果我有一个包含列的表:name 和 pluralName(以后可能会添加更多) MySQL数据

if(isset($_POST['data'])){

   $insert = $dbh->prepare("INSERT INTO cats(name,pluralName) VALUES(?,?)");

}

如何从一组 json 值中获取这些值并将每个值插入到正确的列中?从上面的例子可以看出,我有不止 1 name 和 pluralName

【问题讨论】:

  • 你在 POST 中获取数据吗??
  • @user1566160 ajax 应该将数据(json 数据)传递到 other.php,它应该进入插入语法。你问的是这个吗?

标签: php jquery mysql ajax json


【解决方案1】:

进行 AJAX 调用类似于:

var data = $("div").attr("data-categories");
$.ajax({
type: "POST",
url: "other.php",
data: "data="+data,
function(data){
    alert("success");
 }
});

如果您在 $_POST 数组中获取数据,那么您可以使用:

<?php
$str = $_POST['data'];
$data = json_decode($str, true);
//print_r($data);

for($i=0;$i<count($data);$i++) {
     $insert = "INSERT INTO cats(name,pluralName) VALUES('".$data[$i]['name']."','"+$data[$i]['pluralName']+"')";
//Insert in database

}

【讨论】:

    【解决方案2】:

    试试这个:

    jQuery

    var dataStr = $("div").attr("data-categories");
    $.ajax({
        type: "POST",
        url: "other.php",
        data: {data:dataStr},
        success:function(data){
            alert("success");
        }
    });
    

    PHP 代码

    <?php
    if(isset($_POST['data']))
    {
        $data = $_POST['data'];
        $jsonArray= json_decode($data, true);
    
    
        for($i=0;$i<count($jsonArray);$i++) {
            $insert = $dbh->prepare("INSERT INTO cats(name,pluralName) VALUES('".$jsonArray[$i]['name']."','"+$jsonArray[$i]['pluralName']+"')");
        }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-09
      • 2012-03-03
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多