Jump to content

json str through ajax Please help


BrettCarr

Recommended Posts

Ok I can create this in one function This is the function that make the json_ string, if you un comment  the last three lines you can see this work.Fistr the array
<?php
public function getArrayData()
	{
		$batchdate1 =  date('Y-m-d', strtotime(preg_replace('/\//','-',$_POST['batch_date']))); 

		if (isset($_POST['batch_number'])) 
			{
				$_SESSION['batcharray'][] = array(		"batch_date" 				=>  $batchdate1,
													   	"batch_number"  		 	=>  $_POST['batch_number'],
													   	"original_proof_num"  		=> 	$_POST['original_proof_num'],	
													 	"batch_status" 				=> 	$_POST['batch_status'],
													 	"invoice_num_ccaus" 		=> 	$_POST['invoice_num_ccaus'],
													 	"carrier"					=> 	$_POST['carrier'],
													 	"num_of_boxes"  			=> 	$_POST['num_of_boxes'],
													 	"toll_consign_num"  		=>  $_POST['toll_consign_num'],
													 	"custId"  					=>	$_POST['custId'],
													 	"venueId"  					=> 	$_POST['venueId'],
													 	"bpay" 						=> 	$_POST['bpay'],
													 	"proof_tracking_comments"	=> 	$_POST['proof_tracking_comments'],
													 	"veunue_comments"			=>  $_POST['veunue_comments'],
													 	);


			}



	}
?>

Now the function tha makes the string

<?php
public function myJsonString()
		{
			$test = json_encode($_SESSION['batcharray']);
			$str = "(". $test .")" ;	
			var_dump($str);
			eval("\$str = \"$str\";");
			var_dump($str);
			$str = substr($str, 1, strlen($str) - 2); // remove outer ( and ) 
			$str = preg_replace("/([a-zA-Z0-9_]+?):/" , "\"$1\":", $str); // fix variable names 
			echo "<br/>";
			echo "Ok string is created" ."<br/>";
			$_SESSION['myJsonString'] = $str;
			//var_dump($str);
			//$output = json_decode($str, true);
			//var_dump($output);
		}?>

Finallay the ajax send

<script language="javascript" type="text/javascript" src="/scripts/network.js"></script>
<script language="javascript" type="text/javascript">


function addDatadb()
			{
					myarray = <?= $_SESSION['myJsonString'] ?>;
					send( '/ajax/arrayclean.php', 'myarray=' + myarray, null , null);
					alert(myarray);
			}

this is on the server side

<?php

$str = $_REQUEST['myJsonString'];

var_dump($str);

                        $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);

                                                }



?>

Im so very very lost as to why this won't work Please help Im new PHP AND to this forum I hope this post is correct ANY HELP OR ADVICE IS VERY WELCOME AND NEEDED
Link to comment
Share on other sites

THIS IS THE STRING THAT MY FUNCTION MAKES"[{"batch_date":"1970-01-01","batch_number":"","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"","carrier":"Toll","num_of_boxes":"","toll_consign_num":"","custId":"","venueId":"","bpay":"","proof_tracking_comments":"","veunue_comments":""}]"

In the debug window of fire fox , in the post the results are

 

 

[object Object]

In the debug window of fire fox , in the response tab  the results are

 

 

string(17) "([object Object])"

([object Object])NULL

string(17) "([object Object])"

 

Link to comment
Share on other sites

THIS WAS IN THE SOURCE CODE

function addDatadb()

{

myarray = [{"batch_date":"1970-01-01","batch_number":"","original_proof_num":"596","batch_status":"New","invoice_num_ccaus":"","carrier":"Toll","num_of_boxes":"","toll_consign_num":"","custId":"","venueId":"","bpay":"","proof_tracking_comments":"","veunue_comments":""},{"batch_date":"2010-03-11","batch_number":"75752727","original_proof_num":"645","batch_status":"New","invoice_num_ccaus":"1","carrier":"Toll","num_of_boxes":"","toll_consign_num":"1","custId":"32","venueId":"202","bpay":"75272","proof_tracking_comments":"JFYJFYJHM","veunue_comments":"HTYJTYJTYJTYYJ"}];

send( '/ajax/arrayclean.php', 'myarray=' + myarray, null , null);

alert(myarray);

}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.