<?php

mysql_connect
($db_host,$db_user,$db_password) or die(mysql_error()); 
mysql_select_db($db_name) or die(mysql_error());

function 
saveList($parent$children) {

    
$parent = (int) $parent;
    
$result = array();
    foreach (
$children as $k => $v) {

        
$id = (int) substr($children[$k]->id4);
        
$sql 'UPDATE menu SET `parentId` = '.$parent.', `order` = '.$k.' WHERE `id` = '.$id."\n";
        
mysql_query($sql) or die(mysql_error());
        
        if (
mysql_affected_rows() > 0) {
            echo 
"\n"$sql.mysql_info();
        }
        
        if (isset(
$v->children[0])) {saveList($id$v->children);}
    }
}

function 
addItem($title) {

    
$title mysql_real_escape_string($title);

    if (
$title != '') {
        
$sql "INSERT INTO menu SET `parentId` = 0, `order` = 0, name='".$title."'";
        
$result mysql_query($sql) or die(mysql_error());

        if (isset(
$result)) {
        
            echo 
"Item '".$title ."' succesfully added.";
        } else {

            echo 
"\n\n For some reason, item '".$title ."' is not added.";
        }
        
    } else {
        echo 
"Can not insert item without title."; exit();
    }
}

if (isset(
$_POST['m']) ) {
    
$aMenu = (array) json_decode(stripslashes($_POST['m']));
    
saveList(0$aMenu);
    die();

}elseif (isset(
$_POST['addItem'])) {

    
// add item
    
$_POST['name'] = (isset($_POST['name'])) ? $_POST['name'] : '';
    
addItem($_POST['name']);
    die();

}

?>