0

私はJavaScriptで2D配列を持っています。

現在、for ループを実行しており、各ループで ajax 呼び出しを行って db を更新しています。

私はこれが良い形ではないことを知っており、1 回の ajax 呼び出しだけでループからデータベースを更新する方法を検討しています。

配列をajaxページに渡して一度に更新する必要があることはわかっていますが、私の人生では、これからどこから始めればよいかわかりません

どんな助けでも大歓迎です

これがループ用の私のjavascriptです

for(var m=0; m<array.length; m++){
$.post("update_page_positions.php",{page_ref:array[m][0], ref:array[m][12], menu_pos:array[m][1], sub_menu_pos:array[m][2], top_menu:array[m][3], pagelink:array[m][4], indexpage:array[m][5], hidden:array[m][6], page_title:array[m][7], page_desc:array[m][8], page_keywords:array[m][9], page_name:array[m][10], deletedpage:array[m][11]},         
    function(data,status){             
});   

ここに私のajax phpコードがあります

<?
include("connect.php");     
$ref = $_POST['ref'];
$page_ref = $_POST['page_ref'];
$menu_pos = $_POST['menu_pos'];
$sub_menu_pos = $_POST['sub_menu_pos'];  
$top_menu = $_POST['top_menu'];
$indexpage = $_POST['indexpage'];       
$page_name = $_POST['page_name'];    
$page_title = $_POST['page_title'];
$page_desc = $_POST['page_desc'];   
$page_keywords = $_POST['page_keywords'];   
$hidden = $_POST['hidden']; 
$pagelink = $_POST['pagelink']; 
$deletedpage = $_POST['deletedpage'];   

mysql_query("UPDATE pages SET menu_pos='$menu_pos', sub_menu_pos='$sub_menu_pos', top_menu='$top_menu', indexpage='$indexpage', page_name='$page_name', page_title='$page_title', desc1='$page_desc', keywords_list='$page_keywords', hidden='$hidden', link='$pagelink' WHERE ref='$ref' AND page_ref='$page_ref'")

?>
4

3 に答える 3

1

JS コール:

$.post('update_page_positions.php', 
    {'myArray': m},
    function(data, statusText) {
        // This block is optional, fires when the ajax call is complete
    }
);

AJAX ハンドラー:

<?php

include("connect.php");     
$myArray = json_decode($_POST['myArray']);

// do stuff with $myArray here.

?>
于 2013-08-06T11:48:41.753 に答える