Py学习  »  DATABASE

将JSON数组发送到MySQL数据库

Vanfen • 4 年前 • 660 次点击  

我需要将数组发送到我的MySQL数据库。

我已经创建了一个JSON数组,不知道如何将它发布到PHP以传输到DB。

$( function () {
        $( '#orderForm' ).on( 'submit', function ( event ) {
            event.preventDefault();
            var myData = [],
                keys = ['item', 'qty', 'price'],
                url = this.action;

            $( '#orderTable' ).find( 'tr:gt(0)' ).each( function ( i, row ){
                    var oRow = {};

                    $( row ).find( 'td' ).each( function ( j, cell ) {
                            oRow[keys[j]] = $( cell ).text();
                    } );

                    myData.push( oRow );
            } );

            console.log( myData );
            console.log( JSON.stringify( myData ) );
        } );
    } );

我需要贴出来 item->item , qty->qty , price->price 给数据库。

我试过了:

$.ajax( {
    url: 'tc_menu',
    type: 'POST',
    data: JSON.stringify( myData ),
    success: function ( data ) {
        console.log( "success:", data );
    },
    failure: function ( errMsg ) {
        console.error( "error:", errMsg );
    }
} );

数据存储整个页面,但不是( 串化mydata )我仍然无法在PHP代码中通过 美元邮报 JSON解码 数据存储整个页面,但不是 stringified myData 我在php代码中找不到它 $_POST json_decode

PHP代码

`if(isset($_POST['submitted_m'])){
$myData = serialize($_POST['data']);
$sqli = "INSERT INTO tc_cafe_orders SET item='".$myData."' ";
if (mysqli_query($db, $sqli)) {
$msg = "New Order added!";
echo "<script>
alert(\"$msg\");
window.location.replace('tc_menu.php');
</script>";}
else {echo "Error:".$sql."<br>".mysqli_error($db);}}`
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39132
 
660 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Anton
Reply   •   1 楼
Anton    5 年前

试试这个JS

$(function () {
        $('#orderForm').on( 'submit', function ( event ) {
            event.preventDefault();
            var myData = [],
                keys = ['item', 'qty', 'price'],
                url = this.action;

            $( '#orderTable' ).find( 'tr:gt(0)' ).each( function ( i, row ){
                    var oRow = {};
                    $( row ).find( 'td' ).each( function ( j, cell ) {
                            oRow[keys[j]] = $( cell ).text();
                    } );
                    myData.push( oRow );
            } );

            console.log( myData );
            console.log( JSON.stringify( myData ) );
            data_to_server = JSON.stringify(myData);
        });
        $.post("*your_php_file*", {
            data: data_to_server;
        }).done(function (data_returned) {
            // any your code
        });         
});

似乎你的PHP代码不匹配-试图 serialize() 而不是 json_decode()

RKTUXYN
Reply   •   2 楼
RKTUXYN    5 年前

删除嵌套的单击事件和关闭。 例如

$( '#orderForm' ).on( 'submit', function ( event ) {
    $( '#orderForm' ).on( 'submit', function ( event ) {

    } );
} );

然后再试一次。
以及你的mysql-insert语句

$sqli = "INSERT INTO tc_cafe_orders SET item='".$myData."' ";

不正常。 在此了解有关mysql insert语句的更多信息 https://www.w3schools.com/php/php_mysql_insert.asp