0

I want to create a json files from a php functions (or directly from my BDD).

I have a php function that write in my database sql

This is my function that write in my database (it's magento, but it works) :

$data = array('image'=>$my_upload->file_copy,'shopid'=>$customerid,'newsid'=>1);
$model = Mage::getModel('newsimagestable/newsimagestable')->setData($data);

Md table db_activity

shopid      newsid          imgid                    image
   7           1              1                     1.jpg
   7           1              2                     2.jpg
   7           1              3                     3.jpg

And know I convert this to Json with this function :

$actArray = array();
    $activityAll = Mage::helper(eventdemo)->getactivitytest(7); //get my table db_activity

        foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

    file_put_contents('data.json',  stripslashes(json_encode($actArray)));

And I can only get the json files in this format :

["images:1.jpg","thumb:1_m.jpg","images:2.jpg","thumb:2_m.jpg","images:3.jpg","thumb:3_m.jpg"]

But I want to have this format (so an array with multiple entry I think) :

[
{ "thumb": "image1_m.jpg", "image": "image1.jpg" },
{ "thumb": "image2_m.jpg", "image": "image2.jpg" }  ]

Is that possible ?

Thanks

1
  • Yes, I do a json_encode() but maybe I do it the wrong way : file_put_contents('data.json', stripslashes(json_encode($actArray))); Commented Jan 31, 2013 at 15:36

1 Answer 1

2

Instead of

foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

you should do

foreach ($activityAll as $data){                
            array_push($actArray, array("images" => $data->getData('image'), "thumb" => $data->getData('image')));              
        };
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.