Page 1 of 1

Useing json_decode problem

Posted: Sat Mar 06, 2010 2:06 am
by BrettCarr
Im sending an array vai ajax

Code: Select all

<script language="javascript" type="text/javascript" src="/scripts/network.js"></script>
    <script language="javascript" type="text/javascript">
    
    
    function addDatadb()
                {
                        myarray = <?= json_encode($_SESSION['batcharray'] ) ?>;
                        send( '/ajax/arrayclean.php', 'myarray=' + myarray, null , null);
                        
                }</script>
Im not sure wheather that is right but this is what i see in the page source
function addDatadb()
{
myarray = [{"batch_date":"1970-01-01","batch_number":"88527787","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"87427","carrier":"Toll","num_of_boxes":"1","toll_consign_num":"7527452-745","custId":"32","venueId":"202","bpay":"75-5745578","proof_tracking_comments":"Some advice","veunue_comments":"would be nice"}];
send( '/ajax/arrayclean.php', 'myarray=' + myarray, null , null);


}
On the PHP iVE HAD A LITTLE SUCCESS, i THINK :|
so i did a little experiment to see if my PHP was working heres the php in/ajax/arrayclean.php

Code: Select all

<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.php');
    $db = new Database();
    $db->connect();
    //I copied the string in the source code string
    //here is where i want to get the json_decoded so i can give it to $str i think???
    $str = '([{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"25852855282","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282852","custId":"32","venueId":"202","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"25852855283","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282853","custId":"19","venueId":"13","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"25852855284","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282854","custId":"19","venueId":"13","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"25852855285","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282855","custId":"19","venueId":"13","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"25852855286","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282856","custId":"19","venueId":"13","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"25852855287","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282857","custId":"32","venueId":"202","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"25852855288","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282858","custId":"32","venueId":"202","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"},{"batch_date":"2010-03-06","batch_number":"77575","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"25852855289","carrier":"Toll","num_of_boxes":"2","toll_consign_num":"85282859","custId":"32","venueId":"202","bpay":"7523752","proof_tracking_comments":"7575272","veunue_comments":"75752752752"}])';
    /*$str = $_REQUEST['myarray'];*/
    //I think im missing somthing here but have no idea what
    
    /**
     * This part works great when i give it $str
     * all is well
     */
    
      $str = substr($str, 1, strlen($str) - 2); // remove outer ( and ) 
      $str = preg_replace("/([a-zA-Z0-9_]+?):/" , "\"$1\":", $str); // fix variable names 
      $output = json_decode($str, true);
      var_dump($output); 
        foreach ($output as $ojb)
            {
                $comma_separated = implode("','", $ojb);
                $myquery = "INSERT INTO batch_import VALUES(null,'$comma_separated','0');";
                echo $myquery . "<br />";
                $db->query($myquery);
            }
?>
So how do i get the json_decoded object into $str ??? I need to get to $_REQUEST['myarray'].. how how how???